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 Types:
69//   * ValidationException
70//   An exception indicating a specified value is not allowed.
71//
72//   * InternalServerException
73//   An exception indicating an internal server error.
74//
75//   * ThrottlingException
76//   An exception indicating a throttling error.
77//
78//   * AccessDeniedException
79//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
80//   This can occur if you submit a request, such as PutExternalModel, that specifies
81//   a role that is not in your account.
82//
83// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchCreateVariable
84func (c *FraudDetector) BatchCreateVariable(input *BatchCreateVariableInput) (*BatchCreateVariableOutput, error) {
85	req, out := c.BatchCreateVariableRequest(input)
86	return out, req.Send()
87}
88
89// BatchCreateVariableWithContext is the same as BatchCreateVariable with the addition of
90// the ability to pass a context and additional request options.
91//
92// See BatchCreateVariable for details on how to use this API operation.
93//
94// The context must be non-nil and will be used for request cancellation. If
95// the context is nil a panic will occur. In the future the SDK may create
96// sub-contexts for http.Requests. See https://golang.org/pkg/context/
97// for more information on using Contexts.
98func (c *FraudDetector) BatchCreateVariableWithContext(ctx aws.Context, input *BatchCreateVariableInput, opts ...request.Option) (*BatchCreateVariableOutput, error) {
99	req, out := c.BatchCreateVariableRequest(input)
100	req.SetContext(ctx)
101	req.ApplyOptions(opts...)
102	return out, req.Send()
103}
104
105const opBatchGetVariable = "BatchGetVariable"
106
107// BatchGetVariableRequest generates a "aws/request.Request" representing the
108// client's request for the BatchGetVariable operation. The "output" return
109// value will be populated with the request's response once the request completes
110// successfully.
111//
112// Use "Send" method on the returned Request to send the API call to the service.
113// the "output" return value is not valid until after Send returns without error.
114//
115// See BatchGetVariable for more information on using the BatchGetVariable
116// API call, and error handling.
117//
118// This method is useful when you want to inject custom logic or configuration
119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
120//
121//
122//    // Example sending a request using the BatchGetVariableRequest method.
123//    req, resp := client.BatchGetVariableRequest(params)
124//
125//    err := req.Send()
126//    if err == nil { // resp is now filled
127//        fmt.Println(resp)
128//    }
129//
130// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable
131func (c *FraudDetector) BatchGetVariableRequest(input *BatchGetVariableInput) (req *request.Request, output *BatchGetVariableOutput) {
132	op := &request.Operation{
133		Name:       opBatchGetVariable,
134		HTTPMethod: "POST",
135		HTTPPath:   "/",
136	}
137
138	if input == nil {
139		input = &BatchGetVariableInput{}
140	}
141
142	output = &BatchGetVariableOutput{}
143	req = c.newRequest(op, input, output)
144	return
145}
146
147// BatchGetVariable API operation for Amazon Fraud Detector.
148//
149// Gets a batch of variables.
150//
151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
152// with awserr.Error's Code and Message methods to get detailed information about
153// the error.
154//
155// See the AWS API reference guide for Amazon Fraud Detector's
156// API operation BatchGetVariable for usage and error information.
157//
158// Returned Error Types:
159//   * ValidationException
160//   An exception indicating a specified value is not allowed.
161//
162//   * InternalServerException
163//   An exception indicating an internal server error.
164//
165//   * ThrottlingException
166//   An exception indicating a throttling error.
167//
168//   * AccessDeniedException
169//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
170//   This can occur if you submit a request, such as PutExternalModel, that specifies
171//   a role that is not in your account.
172//
173// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable
174func (c *FraudDetector) BatchGetVariable(input *BatchGetVariableInput) (*BatchGetVariableOutput, error) {
175	req, out := c.BatchGetVariableRequest(input)
176	return out, req.Send()
177}
178
179// BatchGetVariableWithContext is the same as BatchGetVariable with the addition of
180// the ability to pass a context and additional request options.
181//
182// See BatchGetVariable for details on how to use this API operation.
183//
184// The context must be non-nil and will be used for request cancellation. If
185// the context is nil a panic will occur. In the future the SDK may create
186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
187// for more information on using Contexts.
188func (c *FraudDetector) BatchGetVariableWithContext(ctx aws.Context, input *BatchGetVariableInput, opts ...request.Option) (*BatchGetVariableOutput, error) {
189	req, out := c.BatchGetVariableRequest(input)
190	req.SetContext(ctx)
191	req.ApplyOptions(opts...)
192	return out, req.Send()
193}
194
195const opCreateDetectorVersion = "CreateDetectorVersion"
196
197// CreateDetectorVersionRequest generates a "aws/request.Request" representing the
198// client's request for the CreateDetectorVersion operation. The "output" return
199// value will be populated with the request's response once the request completes
200// successfully.
201//
202// Use "Send" method on the returned Request to send the API call to the service.
203// the "output" return value is not valid until after Send returns without error.
204//
205// See CreateDetectorVersion for more information on using the CreateDetectorVersion
206// API call, and error handling.
207//
208// This method is useful when you want to inject custom logic or configuration
209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
210//
211//
212//    // Example sending a request using the CreateDetectorVersionRequest method.
213//    req, resp := client.CreateDetectorVersionRequest(params)
214//
215//    err := req.Send()
216//    if err == nil { // resp is now filled
217//        fmt.Println(resp)
218//    }
219//
220// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion
221func (c *FraudDetector) CreateDetectorVersionRequest(input *CreateDetectorVersionInput) (req *request.Request, output *CreateDetectorVersionOutput) {
222	op := &request.Operation{
223		Name:       opCreateDetectorVersion,
224		HTTPMethod: "POST",
225		HTTPPath:   "/",
226	}
227
228	if input == nil {
229		input = &CreateDetectorVersionInput{}
230	}
231
232	output = &CreateDetectorVersionOutput{}
233	req = c.newRequest(op, input, output)
234	return
235}
236
237// CreateDetectorVersion API operation for Amazon Fraud Detector.
238//
239// Creates a detector version. The detector version starts in a DRAFT status.
240//
241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
242// with awserr.Error's Code and Message methods to get detailed information about
243// the error.
244//
245// See the AWS API reference guide for Amazon Fraud Detector's
246// API operation CreateDetectorVersion for usage and error information.
247//
248// Returned Error Types:
249//   * ValidationException
250//   An exception indicating a specified value is not allowed.
251//
252//   * ResourceNotFoundException
253//   An exception indicating the specified resource was not found.
254//
255//   * InternalServerException
256//   An exception indicating an internal server error.
257//
258//   * ThrottlingException
259//   An exception indicating a throttling error.
260//
261//   * AccessDeniedException
262//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
263//   This can occur if you submit a request, such as PutExternalModel, that specifies
264//   a role that is not in your account.
265//
266// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion
267func (c *FraudDetector) CreateDetectorVersion(input *CreateDetectorVersionInput) (*CreateDetectorVersionOutput, error) {
268	req, out := c.CreateDetectorVersionRequest(input)
269	return out, req.Send()
270}
271
272// CreateDetectorVersionWithContext is the same as CreateDetectorVersion with the addition of
273// the ability to pass a context and additional request options.
274//
275// See CreateDetectorVersion for details on how to use this API operation.
276//
277// The context must be non-nil and will be used for request cancellation. If
278// the context is nil a panic will occur. In the future the SDK may create
279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
280// for more information on using Contexts.
281func (c *FraudDetector) CreateDetectorVersionWithContext(ctx aws.Context, input *CreateDetectorVersionInput, opts ...request.Option) (*CreateDetectorVersionOutput, error) {
282	req, out := c.CreateDetectorVersionRequest(input)
283	req.SetContext(ctx)
284	req.ApplyOptions(opts...)
285	return out, req.Send()
286}
287
288const opCreateModel = "CreateModel"
289
290// CreateModelRequest generates a "aws/request.Request" representing the
291// client's request for the CreateModel operation. The "output" return
292// value will be populated with the request's response once the request completes
293// successfully.
294//
295// Use "Send" method on the returned Request to send the API call to the service.
296// the "output" return value is not valid until after Send returns without error.
297//
298// See CreateModel for more information on using the CreateModel
299// API call, and error handling.
300//
301// This method is useful when you want to inject custom logic or configuration
302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
303//
304//
305//    // Example sending a request using the CreateModelRequest method.
306//    req, resp := client.CreateModelRequest(params)
307//
308//    err := req.Send()
309//    if err == nil { // resp is now filled
310//        fmt.Println(resp)
311//    }
312//
313// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModel
314func (c *FraudDetector) CreateModelRequest(input *CreateModelInput) (req *request.Request, output *CreateModelOutput) {
315	op := &request.Operation{
316		Name:       opCreateModel,
317		HTTPMethod: "POST",
318		HTTPPath:   "/",
319	}
320
321	if input == nil {
322		input = &CreateModelInput{}
323	}
324
325	output = &CreateModelOutput{}
326	req = c.newRequest(op, input, output)
327	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
328	return
329}
330
331// CreateModel API operation for Amazon Fraud Detector.
332//
333// Creates a model using the specified model type.
334//
335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
336// with awserr.Error's Code and Message methods to get detailed information about
337// the error.
338//
339// See the AWS API reference guide for Amazon Fraud Detector's
340// API operation CreateModel for usage and error information.
341//
342// Returned Error Types:
343//   * ValidationException
344//   An exception indicating a specified value is not allowed.
345//
346//   * InternalServerException
347//   An exception indicating an internal server error.
348//
349//   * AccessDeniedException
350//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
351//   This can occur if you submit a request, such as PutExternalModel, that specifies
352//   a role that is not in your account.
353//
354// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModel
355func (c *FraudDetector) CreateModel(input *CreateModelInput) (*CreateModelOutput, error) {
356	req, out := c.CreateModelRequest(input)
357	return out, req.Send()
358}
359
360// CreateModelWithContext is the same as CreateModel with the addition of
361// the ability to pass a context and additional request options.
362//
363// See CreateModel for details on how to use this API operation.
364//
365// The context must be non-nil and will be used for request cancellation. If
366// the context is nil a panic will occur. In the future the SDK may create
367// sub-contexts for http.Requests. See https://golang.org/pkg/context/
368// for more information on using Contexts.
369func (c *FraudDetector) CreateModelWithContext(ctx aws.Context, input *CreateModelInput, opts ...request.Option) (*CreateModelOutput, error) {
370	req, out := c.CreateModelRequest(input)
371	req.SetContext(ctx)
372	req.ApplyOptions(opts...)
373	return out, req.Send()
374}
375
376const opCreateModelVersion = "CreateModelVersion"
377
378// CreateModelVersionRequest generates a "aws/request.Request" representing the
379// client's request for the CreateModelVersion operation. The "output" return
380// value will be populated with the request's response once the request completes
381// successfully.
382//
383// Use "Send" method on the returned Request to send the API call to the service.
384// the "output" return value is not valid until after Send returns without error.
385//
386// See CreateModelVersion for more information on using the CreateModelVersion
387// API call, and error handling.
388//
389// This method is useful when you want to inject custom logic or configuration
390// into the SDK's request lifecycle. Such as custom headers, or retry logic.
391//
392//
393//    // Example sending a request using the CreateModelVersionRequest method.
394//    req, resp := client.CreateModelVersionRequest(params)
395//
396//    err := req.Send()
397//    if err == nil { // resp is now filled
398//        fmt.Println(resp)
399//    }
400//
401// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion
402func (c *FraudDetector) CreateModelVersionRequest(input *CreateModelVersionInput) (req *request.Request, output *CreateModelVersionOutput) {
403	op := &request.Operation{
404		Name:       opCreateModelVersion,
405		HTTPMethod: "POST",
406		HTTPPath:   "/",
407	}
408
409	if input == nil {
410		input = &CreateModelVersionInput{}
411	}
412
413	output = &CreateModelVersionOutput{}
414	req = c.newRequest(op, input, output)
415	return
416}
417
418// CreateModelVersion API operation for Amazon Fraud Detector.
419//
420// Creates a version of the model using the specified model type and model id.
421//
422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
423// with awserr.Error's Code and Message methods to get detailed information about
424// the error.
425//
426// See the AWS API reference guide for Amazon Fraud Detector's
427// API operation CreateModelVersion for usage and error information.
428//
429// Returned Error Types:
430//   * ValidationException
431//   An exception indicating a specified value is not allowed.
432//
433//   * ResourceNotFoundException
434//   An exception indicating the specified resource was not found.
435//
436//   * AccessDeniedException
437//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
438//   This can occur if you submit a request, such as PutExternalModel, that specifies
439//   a role that is not in your account.
440//
441//   * InternalServerException
442//   An exception indicating an internal server error.
443//
444// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion
445func (c *FraudDetector) CreateModelVersion(input *CreateModelVersionInput) (*CreateModelVersionOutput, error) {
446	req, out := c.CreateModelVersionRequest(input)
447	return out, req.Send()
448}
449
450// CreateModelVersionWithContext is the same as CreateModelVersion with the addition of
451// the ability to pass a context and additional request options.
452//
453// See CreateModelVersion for details on how to use this API operation.
454//
455// The context must be non-nil and will be used for request cancellation. If
456// the context is nil a panic will occur. In the future the SDK may create
457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
458// for more information on using Contexts.
459func (c *FraudDetector) CreateModelVersionWithContext(ctx aws.Context, input *CreateModelVersionInput, opts ...request.Option) (*CreateModelVersionOutput, error) {
460	req, out := c.CreateModelVersionRequest(input)
461	req.SetContext(ctx)
462	req.ApplyOptions(opts...)
463	return out, req.Send()
464}
465
466const opCreateRule = "CreateRule"
467
468// CreateRuleRequest generates a "aws/request.Request" representing the
469// client's request for the CreateRule operation. The "output" return
470// value will be populated with the request's response once the request completes
471// successfully.
472//
473// Use "Send" method on the returned Request to send the API call to the service.
474// the "output" return value is not valid until after Send returns without error.
475//
476// See CreateRule for more information on using the CreateRule
477// API call, and error handling.
478//
479// This method is useful when you want to inject custom logic or configuration
480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
481//
482//
483//    // Example sending a request using the CreateRuleRequest method.
484//    req, resp := client.CreateRuleRequest(params)
485//
486//    err := req.Send()
487//    if err == nil { // resp is now filled
488//        fmt.Println(resp)
489//    }
490//
491// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule
492func (c *FraudDetector) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) {
493	op := &request.Operation{
494		Name:       opCreateRule,
495		HTTPMethod: "POST",
496		HTTPPath:   "/",
497	}
498
499	if input == nil {
500		input = &CreateRuleInput{}
501	}
502
503	output = &CreateRuleOutput{}
504	req = c.newRequest(op, input, output)
505	return
506}
507
508// CreateRule API operation for Amazon Fraud Detector.
509//
510// Creates a rule for use with the specified detector.
511//
512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
513// with awserr.Error's Code and Message methods to get detailed information about
514// the error.
515//
516// See the AWS API reference guide for Amazon Fraud Detector's
517// API operation CreateRule for usage and error information.
518//
519// Returned Error Types:
520//   * ValidationException
521//   An exception indicating a specified value is not allowed.
522//
523//   * InternalServerException
524//   An exception indicating an internal server error.
525//
526//   * ThrottlingException
527//   An exception indicating a throttling error.
528//
529//   * AccessDeniedException
530//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
531//   This can occur if you submit a request, such as PutExternalModel, that specifies
532//   a role that is not in your account.
533//
534// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule
535func (c *FraudDetector) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
536	req, out := c.CreateRuleRequest(input)
537	return out, req.Send()
538}
539
540// CreateRuleWithContext is the same as CreateRule with the addition of
541// the ability to pass a context and additional request options.
542//
543// See CreateRule for details on how to use this API operation.
544//
545// The context must be non-nil and will be used for request cancellation. If
546// the context is nil a panic will occur. In the future the SDK may create
547// sub-contexts for http.Requests. See https://golang.org/pkg/context/
548// for more information on using Contexts.
549func (c *FraudDetector) CreateRuleWithContext(ctx aws.Context, input *CreateRuleInput, opts ...request.Option) (*CreateRuleOutput, error) {
550	req, out := c.CreateRuleRequest(input)
551	req.SetContext(ctx)
552	req.ApplyOptions(opts...)
553	return out, req.Send()
554}
555
556const opCreateVariable = "CreateVariable"
557
558// CreateVariableRequest generates a "aws/request.Request" representing the
559// client's request for the CreateVariable operation. The "output" return
560// value will be populated with the request's response once the request completes
561// successfully.
562//
563// Use "Send" method on the returned Request to send the API call to the service.
564// the "output" return value is not valid until after Send returns without error.
565//
566// See CreateVariable for more information on using the CreateVariable
567// API call, and error handling.
568//
569// This method is useful when you want to inject custom logic or configuration
570// into the SDK's request lifecycle. Such as custom headers, or retry logic.
571//
572//
573//    // Example sending a request using the CreateVariableRequest method.
574//    req, resp := client.CreateVariableRequest(params)
575//
576//    err := req.Send()
577//    if err == nil { // resp is now filled
578//        fmt.Println(resp)
579//    }
580//
581// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable
582func (c *FraudDetector) CreateVariableRequest(input *CreateVariableInput) (req *request.Request, output *CreateVariableOutput) {
583	op := &request.Operation{
584		Name:       opCreateVariable,
585		HTTPMethod: "POST",
586		HTTPPath:   "/",
587	}
588
589	if input == nil {
590		input = &CreateVariableInput{}
591	}
592
593	output = &CreateVariableOutput{}
594	req = c.newRequest(op, input, output)
595	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
596	return
597}
598
599// CreateVariable API operation for Amazon Fraud Detector.
600//
601// Creates a variable.
602//
603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
604// with awserr.Error's Code and Message methods to get detailed information about
605// the error.
606//
607// See the AWS API reference guide for Amazon Fraud Detector's
608// API operation CreateVariable for usage and error information.
609//
610// Returned Error Types:
611//   * ValidationException
612//   An exception indicating a specified value is not allowed.
613//
614//   * InternalServerException
615//   An exception indicating an internal server error.
616//
617//   * ThrottlingException
618//   An exception indicating a throttling error.
619//
620//   * AccessDeniedException
621//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
622//   This can occur if you submit a request, such as PutExternalModel, that specifies
623//   a role that is not in your account.
624//
625// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable
626func (c *FraudDetector) CreateVariable(input *CreateVariableInput) (*CreateVariableOutput, error) {
627	req, out := c.CreateVariableRequest(input)
628	return out, req.Send()
629}
630
631// CreateVariableWithContext is the same as CreateVariable with the addition of
632// the ability to pass a context and additional request options.
633//
634// See CreateVariable for details on how to use this API operation.
635//
636// The context must be non-nil and will be used for request cancellation. If
637// the context is nil a panic will occur. In the future the SDK may create
638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
639// for more information on using Contexts.
640func (c *FraudDetector) CreateVariableWithContext(ctx aws.Context, input *CreateVariableInput, opts ...request.Option) (*CreateVariableOutput, error) {
641	req, out := c.CreateVariableRequest(input)
642	req.SetContext(ctx)
643	req.ApplyOptions(opts...)
644	return out, req.Send()
645}
646
647const opDeleteDetector = "DeleteDetector"
648
649// DeleteDetectorRequest generates a "aws/request.Request" representing the
650// client's request for the DeleteDetector operation. The "output" return
651// value will be populated with the request's response once the request completes
652// successfully.
653//
654// Use "Send" method on the returned Request to send the API call to the service.
655// the "output" return value is not valid until after Send returns without error.
656//
657// See DeleteDetector for more information on using the DeleteDetector
658// API call, and error handling.
659//
660// This method is useful when you want to inject custom logic or configuration
661// into the SDK's request lifecycle. Such as custom headers, or retry logic.
662//
663//
664//    // Example sending a request using the DeleteDetectorRequest method.
665//    req, resp := client.DeleteDetectorRequest(params)
666//
667//    err := req.Send()
668//    if err == nil { // resp is now filled
669//        fmt.Println(resp)
670//    }
671//
672// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetector
673func (c *FraudDetector) DeleteDetectorRequest(input *DeleteDetectorInput) (req *request.Request, output *DeleteDetectorOutput) {
674	op := &request.Operation{
675		Name:       opDeleteDetector,
676		HTTPMethod: "POST",
677		HTTPPath:   "/",
678	}
679
680	if input == nil {
681		input = &DeleteDetectorInput{}
682	}
683
684	output = &DeleteDetectorOutput{}
685	req = c.newRequest(op, input, output)
686	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
687	return
688}
689
690// DeleteDetector API operation for Amazon Fraud Detector.
691//
692// Deletes the detector. Before deleting a detector, you must first delete all
693// detector versions and rule versions associated with the detector.
694//
695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
696// with awserr.Error's Code and Message methods to get detailed information about
697// the error.
698//
699// See the AWS API reference guide for Amazon Fraud Detector's
700// API operation DeleteDetector for usage and error information.
701//
702// Returned Error Types:
703//   * ConflictException
704//   An exception indicating there was a conflict during a delete operation. The
705//   following delete operations can cause a conflict exception:
706//
707//      * DeleteDetector: A conflict exception will occur if the detector has
708//      associated Rules or DetectorVersions. You can only delete a detector if
709//      it has no Rules or DetectorVersions.
710//
711//      * DeleteDetectorVersion: A conflict exception will occur if the DetectorVersion
712//      status is ACTIVE.
713//
714//      * DeleteRule: A conflict exception will occur if the RuleVersion is in
715//      use by an associated ACTIVE or INACTIVE DetectorVersion.
716//
717//   * ValidationException
718//   An exception indicating a specified value is not allowed.
719//
720//   * InternalServerException
721//   An exception indicating an internal server error.
722//
723//   * ThrottlingException
724//   An exception indicating a throttling error.
725//
726//   * AccessDeniedException
727//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
728//   This can occur if you submit a request, such as PutExternalModel, that specifies
729//   a role that is not in your account.
730//
731// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetector
732func (c *FraudDetector) DeleteDetector(input *DeleteDetectorInput) (*DeleteDetectorOutput, error) {
733	req, out := c.DeleteDetectorRequest(input)
734	return out, req.Send()
735}
736
737// DeleteDetectorWithContext is the same as DeleteDetector with the addition of
738// the ability to pass a context and additional request options.
739//
740// See DeleteDetector for details on how to use this API operation.
741//
742// The context must be non-nil and will be used for request cancellation. If
743// the context is nil a panic will occur. In the future the SDK may create
744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
745// for more information on using Contexts.
746func (c *FraudDetector) DeleteDetectorWithContext(ctx aws.Context, input *DeleteDetectorInput, opts ...request.Option) (*DeleteDetectorOutput, error) {
747	req, out := c.DeleteDetectorRequest(input)
748	req.SetContext(ctx)
749	req.ApplyOptions(opts...)
750	return out, req.Send()
751}
752
753const opDeleteDetectorVersion = "DeleteDetectorVersion"
754
755// DeleteDetectorVersionRequest generates a "aws/request.Request" representing the
756// client's request for the DeleteDetectorVersion operation. The "output" return
757// value will be populated with the request's response once the request completes
758// successfully.
759//
760// Use "Send" method on the returned Request to send the API call to the service.
761// the "output" return value is not valid until after Send returns without error.
762//
763// See DeleteDetectorVersion for more information on using the DeleteDetectorVersion
764// API call, and error handling.
765//
766// This method is useful when you want to inject custom logic or configuration
767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
768//
769//
770//    // Example sending a request using the DeleteDetectorVersionRequest method.
771//    req, resp := client.DeleteDetectorVersionRequest(params)
772//
773//    err := req.Send()
774//    if err == nil { // resp is now filled
775//        fmt.Println(resp)
776//    }
777//
778// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion
779func (c *FraudDetector) DeleteDetectorVersionRequest(input *DeleteDetectorVersionInput) (req *request.Request, output *DeleteDetectorVersionOutput) {
780	op := &request.Operation{
781		Name:       opDeleteDetectorVersion,
782		HTTPMethod: "POST",
783		HTTPPath:   "/",
784	}
785
786	if input == nil {
787		input = &DeleteDetectorVersionInput{}
788	}
789
790	output = &DeleteDetectorVersionOutput{}
791	req = c.newRequest(op, input, output)
792	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
793	return
794}
795
796// DeleteDetectorVersion API operation for Amazon Fraud Detector.
797//
798// Deletes the detector version. You cannot delete detector versions that are
799// in ACTIVE status.
800//
801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
802// with awserr.Error's Code and Message methods to get detailed information about
803// the error.
804//
805// See the AWS API reference guide for Amazon Fraud Detector's
806// API operation DeleteDetectorVersion for usage and error information.
807//
808// Returned Error Types:
809//   * ValidationException
810//   An exception indicating a specified value is not allowed.
811//
812//   * ResourceNotFoundException
813//   An exception indicating the specified resource was not found.
814//
815//   * InternalServerException
816//   An exception indicating an internal server error.
817//
818//   * ThrottlingException
819//   An exception indicating a throttling error.
820//
821//   * ConflictException
822//   An exception indicating there was a conflict during a delete operation. The
823//   following delete operations can cause a conflict exception:
824//
825//      * DeleteDetector: A conflict exception will occur if the detector has
826//      associated Rules or DetectorVersions. You can only delete a detector if
827//      it has no Rules or DetectorVersions.
828//
829//      * DeleteDetectorVersion: A conflict exception will occur if the DetectorVersion
830//      status is ACTIVE.
831//
832//      * DeleteRule: A conflict exception will occur if the RuleVersion is in
833//      use by an associated ACTIVE or INACTIVE DetectorVersion.
834//
835//   * AccessDeniedException
836//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
837//   This can occur if you submit a request, such as PutExternalModel, that specifies
838//   a role that is not in your account.
839//
840// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion
841func (c *FraudDetector) DeleteDetectorVersion(input *DeleteDetectorVersionInput) (*DeleteDetectorVersionOutput, error) {
842	req, out := c.DeleteDetectorVersionRequest(input)
843	return out, req.Send()
844}
845
846// DeleteDetectorVersionWithContext is the same as DeleteDetectorVersion with the addition of
847// the ability to pass a context and additional request options.
848//
849// See DeleteDetectorVersion for details on how to use this API operation.
850//
851// The context must be non-nil and will be used for request cancellation. If
852// the context is nil a panic will occur. In the future the SDK may create
853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
854// for more information on using Contexts.
855func (c *FraudDetector) DeleteDetectorVersionWithContext(ctx aws.Context, input *DeleteDetectorVersionInput, opts ...request.Option) (*DeleteDetectorVersionOutput, error) {
856	req, out := c.DeleteDetectorVersionRequest(input)
857	req.SetContext(ctx)
858	req.ApplyOptions(opts...)
859	return out, req.Send()
860}
861
862const opDeleteEvent = "DeleteEvent"
863
864// DeleteEventRequest generates a "aws/request.Request" representing the
865// client's request for the DeleteEvent operation. The "output" return
866// value will be populated with the request's response once the request completes
867// successfully.
868//
869// Use "Send" method on the returned Request to send the API call to the service.
870// the "output" return value is not valid until after Send returns without error.
871//
872// See DeleteEvent for more information on using the DeleteEvent
873// API call, and error handling.
874//
875// This method is useful when you want to inject custom logic or configuration
876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
877//
878//
879//    // Example sending a request using the DeleteEventRequest method.
880//    req, resp := client.DeleteEventRequest(params)
881//
882//    err := req.Send()
883//    if err == nil { // resp is now filled
884//        fmt.Println(resp)
885//    }
886//
887// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent
888func (c *FraudDetector) DeleteEventRequest(input *DeleteEventInput) (req *request.Request, output *DeleteEventOutput) {
889	op := &request.Operation{
890		Name:       opDeleteEvent,
891		HTTPMethod: "POST",
892		HTTPPath:   "/",
893	}
894
895	if input == nil {
896		input = &DeleteEventInput{}
897	}
898
899	output = &DeleteEventOutput{}
900	req = c.newRequest(op, input, output)
901	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
902	return
903}
904
905// DeleteEvent API operation for Amazon Fraud Detector.
906//
907// Deletes the specified event.
908//
909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
910// with awserr.Error's Code and Message methods to get detailed information about
911// the error.
912//
913// See the AWS API reference guide for Amazon Fraud Detector's
914// API operation DeleteEvent for usage and error information.
915//
916// Returned Error Types:
917//   * InternalServerException
918//   An exception indicating an internal server error.
919//
920//   * ThrottlingException
921//   An exception indicating a throttling error.
922//
923//   * AccessDeniedException
924//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
925//   This can occur if you submit a request, such as PutExternalModel, that specifies
926//   a role that is not in your account.
927//
928// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent
929func (c *FraudDetector) DeleteEvent(input *DeleteEventInput) (*DeleteEventOutput, error) {
930	req, out := c.DeleteEventRequest(input)
931	return out, req.Send()
932}
933
934// DeleteEventWithContext is the same as DeleteEvent with the addition of
935// the ability to pass a context and additional request options.
936//
937// See DeleteEvent for details on how to use this API operation.
938//
939// The context must be non-nil and will be used for request cancellation. If
940// the context is nil a panic will occur. In the future the SDK may create
941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
942// for more information on using Contexts.
943func (c *FraudDetector) DeleteEventWithContext(ctx aws.Context, input *DeleteEventInput, opts ...request.Option) (*DeleteEventOutput, error) {
944	req, out := c.DeleteEventRequest(input)
945	req.SetContext(ctx)
946	req.ApplyOptions(opts...)
947	return out, req.Send()
948}
949
950const opDeleteRule = "DeleteRule"
951
952// DeleteRuleRequest generates a "aws/request.Request" representing the
953// client's request for the DeleteRule operation. The "output" return
954// value will be populated with the request's response once the request completes
955// successfully.
956//
957// Use "Send" method on the returned Request to send the API call to the service.
958// the "output" return value is not valid until after Send returns without error.
959//
960// See DeleteRule for more information on using the DeleteRule
961// API call, and error handling.
962//
963// This method is useful when you want to inject custom logic or configuration
964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
965//
966//
967//    // Example sending a request using the DeleteRuleRequest method.
968//    req, resp := client.DeleteRuleRequest(params)
969//
970//    err := req.Send()
971//    if err == nil { // resp is now filled
972//        fmt.Println(resp)
973//    }
974//
975// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteRule
976func (c *FraudDetector) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, output *DeleteRuleOutput) {
977	op := &request.Operation{
978		Name:       opDeleteRule,
979		HTTPMethod: "POST",
980		HTTPPath:   "/",
981	}
982
983	if input == nil {
984		input = &DeleteRuleInput{}
985	}
986
987	output = &DeleteRuleOutput{}
988	req = c.newRequest(op, input, output)
989	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
990	return
991}
992
993// DeleteRule API operation for Amazon Fraud Detector.
994//
995// Deletes the rule. You cannot delete a rule if it is used by an ACTIVE or
996// INACTIVE detector version.
997//
998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
999// with awserr.Error's Code and Message methods to get detailed information about
1000// the error.
1001//
1002// See the AWS API reference guide for Amazon Fraud Detector's
1003// API operation DeleteRule for usage and error information.
1004//
1005// Returned Error Types:
1006//   * ConflictException
1007//   An exception indicating there was a conflict during a delete operation. The
1008//   following delete operations can cause a conflict exception:
1009//
1010//      * DeleteDetector: A conflict exception will occur if the detector has
1011//      associated Rules or DetectorVersions. You can only delete a detector if
1012//      it has no Rules or DetectorVersions.
1013//
1014//      * DeleteDetectorVersion: A conflict exception will occur if the DetectorVersion
1015//      status is ACTIVE.
1016//
1017//      * DeleteRule: A conflict exception will occur if the RuleVersion is in
1018//      use by an associated ACTIVE or INACTIVE DetectorVersion.
1019//
1020//   * ValidationException
1021//   An exception indicating a specified value is not allowed.
1022//
1023//   * InternalServerException
1024//   An exception indicating an internal server error.
1025//
1026//   * ThrottlingException
1027//   An exception indicating a throttling error.
1028//
1029//   * AccessDeniedException
1030//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1031//   This can occur if you submit a request, such as PutExternalModel, that specifies
1032//   a role that is not in your account.
1033//
1034// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteRule
1035func (c *FraudDetector) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) {
1036	req, out := c.DeleteRuleRequest(input)
1037	return out, req.Send()
1038}
1039
1040// DeleteRuleWithContext is the same as DeleteRule with the addition of
1041// the ability to pass a context and additional request options.
1042//
1043// See DeleteRule for details on how to use this API operation.
1044//
1045// The context must be non-nil and will be used for request cancellation. If
1046// the context is nil a panic will occur. In the future the SDK may create
1047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1048// for more information on using Contexts.
1049func (c *FraudDetector) DeleteRuleWithContext(ctx aws.Context, input *DeleteRuleInput, opts ...request.Option) (*DeleteRuleOutput, error) {
1050	req, out := c.DeleteRuleRequest(input)
1051	req.SetContext(ctx)
1052	req.ApplyOptions(opts...)
1053	return out, req.Send()
1054}
1055
1056const opDescribeDetector = "DescribeDetector"
1057
1058// DescribeDetectorRequest generates a "aws/request.Request" representing the
1059// client's request for the DescribeDetector operation. The "output" return
1060// value will be populated with the request's response once the request completes
1061// successfully.
1062//
1063// Use "Send" method on the returned Request to send the API call to the service.
1064// the "output" return value is not valid until after Send returns without error.
1065//
1066// See DescribeDetector for more information on using the DescribeDetector
1067// API call, and error handling.
1068//
1069// This method is useful when you want to inject custom logic or configuration
1070// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1071//
1072//
1073//    // Example sending a request using the DescribeDetectorRequest method.
1074//    req, resp := client.DescribeDetectorRequest(params)
1075//
1076//    err := req.Send()
1077//    if err == nil { // resp is now filled
1078//        fmt.Println(resp)
1079//    }
1080//
1081// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector
1082func (c *FraudDetector) DescribeDetectorRequest(input *DescribeDetectorInput) (req *request.Request, output *DescribeDetectorOutput) {
1083	op := &request.Operation{
1084		Name:       opDescribeDetector,
1085		HTTPMethod: "POST",
1086		HTTPPath:   "/",
1087	}
1088
1089	if input == nil {
1090		input = &DescribeDetectorInput{}
1091	}
1092
1093	output = &DescribeDetectorOutput{}
1094	req = c.newRequest(op, input, output)
1095	return
1096}
1097
1098// DescribeDetector API operation for Amazon Fraud Detector.
1099//
1100// Gets all versions for a specified detector.
1101//
1102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1103// with awserr.Error's Code and Message methods to get detailed information about
1104// the error.
1105//
1106// See the AWS API reference guide for Amazon Fraud Detector's
1107// API operation DescribeDetector for usage and error information.
1108//
1109// Returned Error Types:
1110//   * ValidationException
1111//   An exception indicating a specified value is not allowed.
1112//
1113//   * ResourceNotFoundException
1114//   An exception indicating the specified resource was not found.
1115//
1116//   * InternalServerException
1117//   An exception indicating an internal server error.
1118//
1119//   * ThrottlingException
1120//   An exception indicating a throttling error.
1121//
1122//   * AccessDeniedException
1123//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1124//   This can occur if you submit a request, such as PutExternalModel, that specifies
1125//   a role that is not in your account.
1126//
1127// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector
1128func (c *FraudDetector) DescribeDetector(input *DescribeDetectorInput) (*DescribeDetectorOutput, error) {
1129	req, out := c.DescribeDetectorRequest(input)
1130	return out, req.Send()
1131}
1132
1133// DescribeDetectorWithContext is the same as DescribeDetector with the addition of
1134// the ability to pass a context and additional request options.
1135//
1136// See DescribeDetector for details on how to use this API operation.
1137//
1138// The context must be non-nil and will be used for request cancellation. If
1139// the context is nil a panic will occur. In the future the SDK may create
1140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1141// for more information on using Contexts.
1142func (c *FraudDetector) DescribeDetectorWithContext(ctx aws.Context, input *DescribeDetectorInput, opts ...request.Option) (*DescribeDetectorOutput, error) {
1143	req, out := c.DescribeDetectorRequest(input)
1144	req.SetContext(ctx)
1145	req.ApplyOptions(opts...)
1146	return out, req.Send()
1147}
1148
1149const opDescribeModelVersions = "DescribeModelVersions"
1150
1151// DescribeModelVersionsRequest generates a "aws/request.Request" representing the
1152// client's request for the DescribeModelVersions operation. The "output" return
1153// value will be populated with the request's response once the request completes
1154// successfully.
1155//
1156// Use "Send" method on the returned Request to send the API call to the service.
1157// the "output" return value is not valid until after Send returns without error.
1158//
1159// See DescribeModelVersions for more information on using the DescribeModelVersions
1160// API call, and error handling.
1161//
1162// This method is useful when you want to inject custom logic or configuration
1163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1164//
1165//
1166//    // Example sending a request using the DescribeModelVersionsRequest method.
1167//    req, resp := client.DescribeModelVersionsRequest(params)
1168//
1169//    err := req.Send()
1170//    if err == nil { // resp is now filled
1171//        fmt.Println(resp)
1172//    }
1173//
1174// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions
1175func (c *FraudDetector) DescribeModelVersionsRequest(input *DescribeModelVersionsInput) (req *request.Request, output *DescribeModelVersionsOutput) {
1176	op := &request.Operation{
1177		Name:       opDescribeModelVersions,
1178		HTTPMethod: "POST",
1179		HTTPPath:   "/",
1180		Paginator: &request.Paginator{
1181			InputTokens:     []string{"nextToken"},
1182			OutputTokens:    []string{"nextToken"},
1183			LimitToken:      "maxResults",
1184			TruncationToken: "",
1185		},
1186	}
1187
1188	if input == nil {
1189		input = &DescribeModelVersionsInput{}
1190	}
1191
1192	output = &DescribeModelVersionsOutput{}
1193	req = c.newRequest(op, input, output)
1194	return
1195}
1196
1197// DescribeModelVersions API operation for Amazon Fraud Detector.
1198//
1199// Gets all of the model versions for the specified model type or for the specified
1200// model type and model ID. You can also get details for a single, specified
1201// model version.
1202//
1203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1204// with awserr.Error's Code and Message methods to get detailed information about
1205// the error.
1206//
1207// See the AWS API reference guide for Amazon Fraud Detector's
1208// API operation DescribeModelVersions for usage and error information.
1209//
1210// Returned Error Types:
1211//   * ValidationException
1212//   An exception indicating a specified value is not allowed.
1213//
1214//   * ResourceNotFoundException
1215//   An exception indicating the specified resource was not found.
1216//
1217//   * InternalServerException
1218//   An exception indicating an internal server error.
1219//
1220//   * AccessDeniedException
1221//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1222//   This can occur if you submit a request, such as PutExternalModel, that specifies
1223//   a role that is not in your account.
1224//
1225// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions
1226func (c *FraudDetector) DescribeModelVersions(input *DescribeModelVersionsInput) (*DescribeModelVersionsOutput, error) {
1227	req, out := c.DescribeModelVersionsRequest(input)
1228	return out, req.Send()
1229}
1230
1231// DescribeModelVersionsWithContext is the same as DescribeModelVersions with the addition of
1232// the ability to pass a context and additional request options.
1233//
1234// See DescribeModelVersions for details on how to use this API operation.
1235//
1236// The context must be non-nil and will be used for request cancellation. If
1237// the context is nil a panic will occur. In the future the SDK may create
1238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1239// for more information on using Contexts.
1240func (c *FraudDetector) DescribeModelVersionsWithContext(ctx aws.Context, input *DescribeModelVersionsInput, opts ...request.Option) (*DescribeModelVersionsOutput, error) {
1241	req, out := c.DescribeModelVersionsRequest(input)
1242	req.SetContext(ctx)
1243	req.ApplyOptions(opts...)
1244	return out, req.Send()
1245}
1246
1247// DescribeModelVersionsPages iterates over the pages of a DescribeModelVersions operation,
1248// calling the "fn" function with the response data for each page. To stop
1249// iterating, return false from the fn function.
1250//
1251// See DescribeModelVersions method for more information on how to use this operation.
1252//
1253// Note: This operation can generate multiple requests to a service.
1254//
1255//    // Example iterating over at most 3 pages of a DescribeModelVersions operation.
1256//    pageNum := 0
1257//    err := client.DescribeModelVersionsPages(params,
1258//        func(page *frauddetector.DescribeModelVersionsOutput, lastPage bool) bool {
1259//            pageNum++
1260//            fmt.Println(page)
1261//            return pageNum <= 3
1262//        })
1263//
1264func (c *FraudDetector) DescribeModelVersionsPages(input *DescribeModelVersionsInput, fn func(*DescribeModelVersionsOutput, bool) bool) error {
1265	return c.DescribeModelVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
1266}
1267
1268// DescribeModelVersionsPagesWithContext same as DescribeModelVersionsPages except
1269// it takes a Context and allows setting request options on the pages.
1270//
1271// The context must be non-nil and will be used for request cancellation. If
1272// the context is nil a panic will occur. In the future the SDK may create
1273// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1274// for more information on using Contexts.
1275func (c *FraudDetector) DescribeModelVersionsPagesWithContext(ctx aws.Context, input *DescribeModelVersionsInput, fn func(*DescribeModelVersionsOutput, bool) bool, opts ...request.Option) error {
1276	p := request.Pagination{
1277		NewRequest: func() (*request.Request, error) {
1278			var inCpy *DescribeModelVersionsInput
1279			if input != nil {
1280				tmp := *input
1281				inCpy = &tmp
1282			}
1283			req, _ := c.DescribeModelVersionsRequest(inCpy)
1284			req.SetContext(ctx)
1285			req.ApplyOptions(opts...)
1286			return req, nil
1287		},
1288	}
1289
1290	for p.Next() {
1291		if !fn(p.Page().(*DescribeModelVersionsOutput), !p.HasNextPage()) {
1292			break
1293		}
1294	}
1295
1296	return p.Err()
1297}
1298
1299const opGetDetectorVersion = "GetDetectorVersion"
1300
1301// GetDetectorVersionRequest generates a "aws/request.Request" representing the
1302// client's request for the GetDetectorVersion operation. The "output" return
1303// value will be populated with the request's response once the request completes
1304// successfully.
1305//
1306// Use "Send" method on the returned Request to send the API call to the service.
1307// the "output" return value is not valid until after Send returns without error.
1308//
1309// See GetDetectorVersion for more information on using the GetDetectorVersion
1310// API call, and error handling.
1311//
1312// This method is useful when you want to inject custom logic or configuration
1313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1314//
1315//
1316//    // Example sending a request using the GetDetectorVersionRequest method.
1317//    req, resp := client.GetDetectorVersionRequest(params)
1318//
1319//    err := req.Send()
1320//    if err == nil { // resp is now filled
1321//        fmt.Println(resp)
1322//    }
1323//
1324// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion
1325func (c *FraudDetector) GetDetectorVersionRequest(input *GetDetectorVersionInput) (req *request.Request, output *GetDetectorVersionOutput) {
1326	op := &request.Operation{
1327		Name:       opGetDetectorVersion,
1328		HTTPMethod: "POST",
1329		HTTPPath:   "/",
1330	}
1331
1332	if input == nil {
1333		input = &GetDetectorVersionInput{}
1334	}
1335
1336	output = &GetDetectorVersionOutput{}
1337	req = c.newRequest(op, input, output)
1338	return
1339}
1340
1341// GetDetectorVersion API operation for Amazon Fraud Detector.
1342//
1343// Gets a particular detector version.
1344//
1345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1346// with awserr.Error's Code and Message methods to get detailed information about
1347// the error.
1348//
1349// See the AWS API reference guide for Amazon Fraud Detector's
1350// API operation GetDetectorVersion for usage and error information.
1351//
1352// Returned Error Types:
1353//   * ValidationException
1354//   An exception indicating a specified value is not allowed.
1355//
1356//   * ResourceNotFoundException
1357//   An exception indicating the specified resource was not found.
1358//
1359//   * InternalServerException
1360//   An exception indicating an internal server error.
1361//
1362//   * ThrottlingException
1363//   An exception indicating a throttling error.
1364//
1365//   * AccessDeniedException
1366//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1367//   This can occur if you submit a request, such as PutExternalModel, that specifies
1368//   a role that is not in your account.
1369//
1370// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion
1371func (c *FraudDetector) GetDetectorVersion(input *GetDetectorVersionInput) (*GetDetectorVersionOutput, error) {
1372	req, out := c.GetDetectorVersionRequest(input)
1373	return out, req.Send()
1374}
1375
1376// GetDetectorVersionWithContext is the same as GetDetectorVersion with the addition of
1377// the ability to pass a context and additional request options.
1378//
1379// See GetDetectorVersion for details on how to use this API operation.
1380//
1381// The context must be non-nil and will be used for request cancellation. If
1382// the context is nil a panic will occur. In the future the SDK may create
1383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1384// for more information on using Contexts.
1385func (c *FraudDetector) GetDetectorVersionWithContext(ctx aws.Context, input *GetDetectorVersionInput, opts ...request.Option) (*GetDetectorVersionOutput, error) {
1386	req, out := c.GetDetectorVersionRequest(input)
1387	req.SetContext(ctx)
1388	req.ApplyOptions(opts...)
1389	return out, req.Send()
1390}
1391
1392const opGetDetectors = "GetDetectors"
1393
1394// GetDetectorsRequest generates a "aws/request.Request" representing the
1395// client's request for the GetDetectors operation. The "output" return
1396// value will be populated with the request's response once the request completes
1397// successfully.
1398//
1399// Use "Send" method on the returned Request to send the API call to the service.
1400// the "output" return value is not valid until after Send returns without error.
1401//
1402// See GetDetectors for more information on using the GetDetectors
1403// API call, and error handling.
1404//
1405// This method is useful when you want to inject custom logic or configuration
1406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1407//
1408//
1409//    // Example sending a request using the GetDetectorsRequest method.
1410//    req, resp := client.GetDetectorsRequest(params)
1411//
1412//    err := req.Send()
1413//    if err == nil { // resp is now filled
1414//        fmt.Println(resp)
1415//    }
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors
1418func (c *FraudDetector) GetDetectorsRequest(input *GetDetectorsInput) (req *request.Request, output *GetDetectorsOutput) {
1419	op := &request.Operation{
1420		Name:       opGetDetectors,
1421		HTTPMethod: "POST",
1422		HTTPPath:   "/",
1423		Paginator: &request.Paginator{
1424			InputTokens:     []string{"nextToken"},
1425			OutputTokens:    []string{"nextToken"},
1426			LimitToken:      "maxResults",
1427			TruncationToken: "",
1428		},
1429	}
1430
1431	if input == nil {
1432		input = &GetDetectorsInput{}
1433	}
1434
1435	output = &GetDetectorsOutput{}
1436	req = c.newRequest(op, input, output)
1437	return
1438}
1439
1440// GetDetectors API operation for Amazon Fraud Detector.
1441//
1442// Gets all detectors or a single detector if a detectorId is specified. This
1443// is a paginated API. If you provide a null maxResults, this action retrieves
1444// a maximum of 10 records per page. If you provide a maxResults, the value
1445// must be between 5 and 10. To get the next page results, provide the pagination
1446// token from the GetDetectorsResponse as part of your request. A null pagination
1447// token fetches the records from the beginning.
1448//
1449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1450// with awserr.Error's Code and Message methods to get detailed information about
1451// the error.
1452//
1453// See the AWS API reference guide for Amazon Fraud Detector's
1454// API operation GetDetectors for usage and error information.
1455//
1456// Returned Error Types:
1457//   * ValidationException
1458//   An exception indicating a specified value is not allowed.
1459//
1460//   * ResourceNotFoundException
1461//   An exception indicating the specified resource was not found.
1462//
1463//   * InternalServerException
1464//   An exception indicating an internal server error.
1465//
1466//   * ThrottlingException
1467//   An exception indicating a throttling error.
1468//
1469//   * AccessDeniedException
1470//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1471//   This can occur if you submit a request, such as PutExternalModel, that specifies
1472//   a role that is not in your account.
1473//
1474// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors
1475func (c *FraudDetector) GetDetectors(input *GetDetectorsInput) (*GetDetectorsOutput, error) {
1476	req, out := c.GetDetectorsRequest(input)
1477	return out, req.Send()
1478}
1479
1480// GetDetectorsWithContext is the same as GetDetectors with the addition of
1481// the ability to pass a context and additional request options.
1482//
1483// See GetDetectors for details on how to use this API operation.
1484//
1485// The context must be non-nil and will be used for request cancellation. If
1486// the context is nil a panic will occur. In the future the SDK may create
1487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1488// for more information on using Contexts.
1489func (c *FraudDetector) GetDetectorsWithContext(ctx aws.Context, input *GetDetectorsInput, opts ...request.Option) (*GetDetectorsOutput, error) {
1490	req, out := c.GetDetectorsRequest(input)
1491	req.SetContext(ctx)
1492	req.ApplyOptions(opts...)
1493	return out, req.Send()
1494}
1495
1496// GetDetectorsPages iterates over the pages of a GetDetectors operation,
1497// calling the "fn" function with the response data for each page. To stop
1498// iterating, return false from the fn function.
1499//
1500// See GetDetectors method for more information on how to use this operation.
1501//
1502// Note: This operation can generate multiple requests to a service.
1503//
1504//    // Example iterating over at most 3 pages of a GetDetectors operation.
1505//    pageNum := 0
1506//    err := client.GetDetectorsPages(params,
1507//        func(page *frauddetector.GetDetectorsOutput, lastPage bool) bool {
1508//            pageNum++
1509//            fmt.Println(page)
1510//            return pageNum <= 3
1511//        })
1512//
1513func (c *FraudDetector) GetDetectorsPages(input *GetDetectorsInput, fn func(*GetDetectorsOutput, bool) bool) error {
1514	return c.GetDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
1515}
1516
1517// GetDetectorsPagesWithContext same as GetDetectorsPages except
1518// it takes a Context and allows setting request options on the pages.
1519//
1520// The context must be non-nil and will be used for request cancellation. If
1521// the context is nil a panic will occur. In the future the SDK may create
1522// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1523// for more information on using Contexts.
1524func (c *FraudDetector) GetDetectorsPagesWithContext(ctx aws.Context, input *GetDetectorsInput, fn func(*GetDetectorsOutput, bool) bool, opts ...request.Option) error {
1525	p := request.Pagination{
1526		NewRequest: func() (*request.Request, error) {
1527			var inCpy *GetDetectorsInput
1528			if input != nil {
1529				tmp := *input
1530				inCpy = &tmp
1531			}
1532			req, _ := c.GetDetectorsRequest(inCpy)
1533			req.SetContext(ctx)
1534			req.ApplyOptions(opts...)
1535			return req, nil
1536		},
1537	}
1538
1539	for p.Next() {
1540		if !fn(p.Page().(*GetDetectorsOutput), !p.HasNextPage()) {
1541			break
1542		}
1543	}
1544
1545	return p.Err()
1546}
1547
1548const opGetEntityTypes = "GetEntityTypes"
1549
1550// GetEntityTypesRequest generates a "aws/request.Request" representing the
1551// client's request for the GetEntityTypes operation. The "output" return
1552// value will be populated with the request's response once the request completes
1553// successfully.
1554//
1555// Use "Send" method on the returned Request to send the API call to the service.
1556// the "output" return value is not valid until after Send returns without error.
1557//
1558// See GetEntityTypes for more information on using the GetEntityTypes
1559// API call, and error handling.
1560//
1561// This method is useful when you want to inject custom logic or configuration
1562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1563//
1564//
1565//    // Example sending a request using the GetEntityTypesRequest method.
1566//    req, resp := client.GetEntityTypesRequest(params)
1567//
1568//    err := req.Send()
1569//    if err == nil { // resp is now filled
1570//        fmt.Println(resp)
1571//    }
1572//
1573// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEntityTypes
1574func (c *FraudDetector) GetEntityTypesRequest(input *GetEntityTypesInput) (req *request.Request, output *GetEntityTypesOutput) {
1575	op := &request.Operation{
1576		Name:       opGetEntityTypes,
1577		HTTPMethod: "POST",
1578		HTTPPath:   "/",
1579		Paginator: &request.Paginator{
1580			InputTokens:     []string{"nextToken"},
1581			OutputTokens:    []string{"nextToken"},
1582			LimitToken:      "maxResults",
1583			TruncationToken: "",
1584		},
1585	}
1586
1587	if input == nil {
1588		input = &GetEntityTypesInput{}
1589	}
1590
1591	output = &GetEntityTypesOutput{}
1592	req = c.newRequest(op, input, output)
1593	return
1594}
1595
1596// GetEntityTypes API operation for Amazon Fraud Detector.
1597//
1598// Gets all entity types or a specific entity type if a name is specified. This
1599// is a paginated API. If you provide a null maxResults, this action retrieves
1600// a maximum of 10 records per page. If you provide a maxResults, the value
1601// must be between 5 and 10. To get the next page results, provide the pagination
1602// token from the GetEntityTypesResponse as part of your request. A null pagination
1603// token fetches the records from the beginning.
1604//
1605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1606// with awserr.Error's Code and Message methods to get detailed information about
1607// the error.
1608//
1609// See the AWS API reference guide for Amazon Fraud Detector's
1610// API operation GetEntityTypes for usage and error information.
1611//
1612// Returned Error Types:
1613//   * ValidationException
1614//   An exception indicating a specified value is not allowed.
1615//
1616//   * ResourceNotFoundException
1617//   An exception indicating the specified resource was not found.
1618//
1619//   * InternalServerException
1620//   An exception indicating an internal server error.
1621//
1622//   * AccessDeniedException
1623//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1624//   This can occur if you submit a request, such as PutExternalModel, that specifies
1625//   a role that is not in your account.
1626//
1627// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEntityTypes
1628func (c *FraudDetector) GetEntityTypes(input *GetEntityTypesInput) (*GetEntityTypesOutput, error) {
1629	req, out := c.GetEntityTypesRequest(input)
1630	return out, req.Send()
1631}
1632
1633// GetEntityTypesWithContext is the same as GetEntityTypes with the addition of
1634// the ability to pass a context and additional request options.
1635//
1636// See GetEntityTypes for details on how to use this API operation.
1637//
1638// The context must be non-nil and will be used for request cancellation. If
1639// the context is nil a panic will occur. In the future the SDK may create
1640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1641// for more information on using Contexts.
1642func (c *FraudDetector) GetEntityTypesWithContext(ctx aws.Context, input *GetEntityTypesInput, opts ...request.Option) (*GetEntityTypesOutput, error) {
1643	req, out := c.GetEntityTypesRequest(input)
1644	req.SetContext(ctx)
1645	req.ApplyOptions(opts...)
1646	return out, req.Send()
1647}
1648
1649// GetEntityTypesPages iterates over the pages of a GetEntityTypes operation,
1650// calling the "fn" function with the response data for each page. To stop
1651// iterating, return false from the fn function.
1652//
1653// See GetEntityTypes method for more information on how to use this operation.
1654//
1655// Note: This operation can generate multiple requests to a service.
1656//
1657//    // Example iterating over at most 3 pages of a GetEntityTypes operation.
1658//    pageNum := 0
1659//    err := client.GetEntityTypesPages(params,
1660//        func(page *frauddetector.GetEntityTypesOutput, lastPage bool) bool {
1661//            pageNum++
1662//            fmt.Println(page)
1663//            return pageNum <= 3
1664//        })
1665//
1666func (c *FraudDetector) GetEntityTypesPages(input *GetEntityTypesInput, fn func(*GetEntityTypesOutput, bool) bool) error {
1667	return c.GetEntityTypesPagesWithContext(aws.BackgroundContext(), input, fn)
1668}
1669
1670// GetEntityTypesPagesWithContext same as GetEntityTypesPages except
1671// it takes a Context and allows setting request options on the pages.
1672//
1673// The context must be non-nil and will be used for request cancellation. If
1674// the context is nil a panic will occur. In the future the SDK may create
1675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1676// for more information on using Contexts.
1677func (c *FraudDetector) GetEntityTypesPagesWithContext(ctx aws.Context, input *GetEntityTypesInput, fn func(*GetEntityTypesOutput, bool) bool, opts ...request.Option) error {
1678	p := request.Pagination{
1679		NewRequest: func() (*request.Request, error) {
1680			var inCpy *GetEntityTypesInput
1681			if input != nil {
1682				tmp := *input
1683				inCpy = &tmp
1684			}
1685			req, _ := c.GetEntityTypesRequest(inCpy)
1686			req.SetContext(ctx)
1687			req.ApplyOptions(opts...)
1688			return req, nil
1689		},
1690	}
1691
1692	for p.Next() {
1693		if !fn(p.Page().(*GetEntityTypesOutput), !p.HasNextPage()) {
1694			break
1695		}
1696	}
1697
1698	return p.Err()
1699}
1700
1701const opGetEventPrediction = "GetEventPrediction"
1702
1703// GetEventPredictionRequest generates a "aws/request.Request" representing the
1704// client's request for the GetEventPrediction operation. The "output" return
1705// value will be populated with the request's response once the request completes
1706// successfully.
1707//
1708// Use "Send" method on the returned Request to send the API call to the service.
1709// the "output" return value is not valid until after Send returns without error.
1710//
1711// See GetEventPrediction for more information on using the GetEventPrediction
1712// API call, and error handling.
1713//
1714// This method is useful when you want to inject custom logic or configuration
1715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1716//
1717//
1718//    // Example sending a request using the GetEventPredictionRequest method.
1719//    req, resp := client.GetEventPredictionRequest(params)
1720//
1721//    err := req.Send()
1722//    if err == nil { // resp is now filled
1723//        fmt.Println(resp)
1724//    }
1725//
1726// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventPrediction
1727func (c *FraudDetector) GetEventPredictionRequest(input *GetEventPredictionInput) (req *request.Request, output *GetEventPredictionOutput) {
1728	op := &request.Operation{
1729		Name:       opGetEventPrediction,
1730		HTTPMethod: "POST",
1731		HTTPPath:   "/",
1732	}
1733
1734	if input == nil {
1735		input = &GetEventPredictionInput{}
1736	}
1737
1738	output = &GetEventPredictionOutput{}
1739	req = c.newRequest(op, input, output)
1740	return
1741}
1742
1743// GetEventPrediction API operation for Amazon Fraud Detector.
1744//
1745// Evaluates an event against a detector version. If a version ID is not provided,
1746// the detector’s (ACTIVE) version is used.
1747//
1748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1749// with awserr.Error's Code and Message methods to get detailed information about
1750// the error.
1751//
1752// See the AWS API reference guide for Amazon Fraud Detector's
1753// API operation GetEventPrediction for usage and error information.
1754//
1755// Returned Error Types:
1756//   * ValidationException
1757//   An exception indicating a specified value is not allowed.
1758//
1759//   * ResourceNotFoundException
1760//   An exception indicating the specified resource was not found.
1761//
1762//   * InternalServerException
1763//   An exception indicating an internal server error.
1764//
1765//   * ThrottlingException
1766//   An exception indicating a throttling error.
1767//
1768//   * AccessDeniedException
1769//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1770//   This can occur if you submit a request, such as PutExternalModel, that specifies
1771//   a role that is not in your account.
1772//
1773// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventPrediction
1774func (c *FraudDetector) GetEventPrediction(input *GetEventPredictionInput) (*GetEventPredictionOutput, error) {
1775	req, out := c.GetEventPredictionRequest(input)
1776	return out, req.Send()
1777}
1778
1779// GetEventPredictionWithContext is the same as GetEventPrediction with the addition of
1780// the ability to pass a context and additional request options.
1781//
1782// See GetEventPrediction for details on how to use this API operation.
1783//
1784// The context must be non-nil and will be used for request cancellation. If
1785// the context is nil a panic will occur. In the future the SDK may create
1786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1787// for more information on using Contexts.
1788func (c *FraudDetector) GetEventPredictionWithContext(ctx aws.Context, input *GetEventPredictionInput, opts ...request.Option) (*GetEventPredictionOutput, error) {
1789	req, out := c.GetEventPredictionRequest(input)
1790	req.SetContext(ctx)
1791	req.ApplyOptions(opts...)
1792	return out, req.Send()
1793}
1794
1795const opGetEventTypes = "GetEventTypes"
1796
1797// GetEventTypesRequest generates a "aws/request.Request" representing the
1798// client's request for the GetEventTypes operation. The "output" return
1799// value will be populated with the request's response once the request completes
1800// successfully.
1801//
1802// Use "Send" method on the returned Request to send the API call to the service.
1803// the "output" return value is not valid until after Send returns without error.
1804//
1805// See GetEventTypes for more information on using the GetEventTypes
1806// API call, and error handling.
1807//
1808// This method is useful when you want to inject custom logic or configuration
1809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1810//
1811//
1812//    // Example sending a request using the GetEventTypesRequest method.
1813//    req, resp := client.GetEventTypesRequest(params)
1814//
1815//    err := req.Send()
1816//    if err == nil { // resp is now filled
1817//        fmt.Println(resp)
1818//    }
1819//
1820// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventTypes
1821func (c *FraudDetector) GetEventTypesRequest(input *GetEventTypesInput) (req *request.Request, output *GetEventTypesOutput) {
1822	op := &request.Operation{
1823		Name:       opGetEventTypes,
1824		HTTPMethod: "POST",
1825		HTTPPath:   "/",
1826		Paginator: &request.Paginator{
1827			InputTokens:     []string{"nextToken"},
1828			OutputTokens:    []string{"nextToken"},
1829			LimitToken:      "maxResults",
1830			TruncationToken: "",
1831		},
1832	}
1833
1834	if input == nil {
1835		input = &GetEventTypesInput{}
1836	}
1837
1838	output = &GetEventTypesOutput{}
1839	req = c.newRequest(op, input, output)
1840	return
1841}
1842
1843// GetEventTypes API operation for Amazon Fraud Detector.
1844//
1845// Gets all event types or a specific event type if name is provided. This is
1846// a paginated API. If you provide a null maxResults, this action retrieves
1847// a maximum of 10 records per page. If you provide a maxResults, the value
1848// must be between 5 and 10. To get the next page results, provide the pagination
1849// token from the GetEventTypesResponse as part of your request. A null pagination
1850// token fetches the records from the beginning.
1851//
1852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1853// with awserr.Error's Code and Message methods to get detailed information about
1854// the error.
1855//
1856// See the AWS API reference guide for Amazon Fraud Detector's
1857// API operation GetEventTypes for usage and error information.
1858//
1859// Returned Error Types:
1860//   * ValidationException
1861//   An exception indicating a specified value is not allowed.
1862//
1863//   * ResourceNotFoundException
1864//   An exception indicating the specified resource was not found.
1865//
1866//   * InternalServerException
1867//   An exception indicating an internal server error.
1868//
1869//   * AccessDeniedException
1870//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
1871//   This can occur if you submit a request, such as PutExternalModel, that specifies
1872//   a role that is not in your account.
1873//
1874// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetEventTypes
1875func (c *FraudDetector) GetEventTypes(input *GetEventTypesInput) (*GetEventTypesOutput, error) {
1876	req, out := c.GetEventTypesRequest(input)
1877	return out, req.Send()
1878}
1879
1880// GetEventTypesWithContext is the same as GetEventTypes with the addition of
1881// the ability to pass a context and additional request options.
1882//
1883// See GetEventTypes 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) GetEventTypesWithContext(ctx aws.Context, input *GetEventTypesInput, opts ...request.Option) (*GetEventTypesOutput, error) {
1890	req, out := c.GetEventTypesRequest(input)
1891	req.SetContext(ctx)
1892	req.ApplyOptions(opts...)
1893	return out, req.Send()
1894}
1895
1896// GetEventTypesPages iterates over the pages of a GetEventTypes 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 GetEventTypes 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 GetEventTypes operation.
1905//    pageNum := 0
1906//    err := client.GetEventTypesPages(params,
1907//        func(page *frauddetector.GetEventTypesOutput, lastPage bool) bool {
1908//            pageNum++
1909//            fmt.Println(page)
1910//            return pageNum <= 3
1911//        })
1912//
1913func (c *FraudDetector) GetEventTypesPages(input *GetEventTypesInput, fn func(*GetEventTypesOutput, bool) bool) error {
1914	return c.GetEventTypesPagesWithContext(aws.BackgroundContext(), input, fn)
1915}
1916
1917// GetEventTypesPagesWithContext same as GetEventTypesPages 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) GetEventTypesPagesWithContext(ctx aws.Context, input *GetEventTypesInput, fn func(*GetEventTypesOutput, bool) bool, opts ...request.Option) error {
1925	p := request.Pagination{
1926		NewRequest: func() (*request.Request, error) {
1927			var inCpy *GetEventTypesInput
1928			if input != nil {
1929				tmp := *input
1930				inCpy = &tmp
1931			}
1932			req, _ := c.GetEventTypesRequest(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().(*GetEventTypesOutput), !p.HasNextPage()) {
1941			break
1942		}
1943	}
1944
1945	return p.Err()
1946}
1947
1948const opGetExternalModels = "GetExternalModels"
1949
1950// GetExternalModelsRequest generates a "aws/request.Request" representing the
1951// client's request for the GetExternalModels 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 GetExternalModels for more information on using the GetExternalModels
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 GetExternalModelsRequest method.
1966//    req, resp := client.GetExternalModelsRequest(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/GetExternalModels
1974func (c *FraudDetector) GetExternalModelsRequest(input *GetExternalModelsInput) (req *request.Request, output *GetExternalModelsOutput) {
1975	op := &request.Operation{
1976		Name:       opGetExternalModels,
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 = &GetExternalModelsInput{}
1989	}
1990
1991	output = &GetExternalModelsOutput{}
1992	req = c.newRequest(op, input, output)
1993	return
1994}
1995
1996// GetExternalModels API operation for Amazon Fraud Detector.
1997//
1998// Gets the details for one or more Amazon SageMaker models that have been imported
1999// into the service. This is a paginated API. If you provide a null maxResults,
2000// this actions retrieves a maximum of 10 records per page. If you provide a
2001// maxResults, the value must be between 5 and 10. To get the next page results,
2002// provide the pagination token from the GetExternalModelsResult as part of
2003// your request. A null pagination token fetches the records from the 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 GetExternalModels for usage and error information.
2011//
2012// Returned Error Types:
2013//   * ValidationException
2014//   An exception indicating a specified value is not allowed.
2015//
2016//   * ResourceNotFoundException
2017//   An exception indicating the specified resource was not found.
2018//
2019//   * InternalServerException
2020//   An exception indicating an internal server error.
2021//
2022//   * ThrottlingException
2023//   An exception indicating a throttling error.
2024//
2025//   * AccessDeniedException
2026//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2027//   This can occur if you submit a request, such as PutExternalModel, that specifies
2028//   a role that is not in your account.
2029//
2030// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetExternalModels
2031func (c *FraudDetector) GetExternalModels(input *GetExternalModelsInput) (*GetExternalModelsOutput, error) {
2032	req, out := c.GetExternalModelsRequest(input)
2033	return out, req.Send()
2034}
2035
2036// GetExternalModelsWithContext is the same as GetExternalModels with the addition of
2037// the ability to pass a context and additional request options.
2038//
2039// See GetExternalModels for details on how to use this API operation.
2040//
2041// The context must be non-nil and will be used for request cancellation. If
2042// the context is nil a panic will occur. In the future the SDK may create
2043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2044// for more information on using Contexts.
2045func (c *FraudDetector) GetExternalModelsWithContext(ctx aws.Context, input *GetExternalModelsInput, opts ...request.Option) (*GetExternalModelsOutput, error) {
2046	req, out := c.GetExternalModelsRequest(input)
2047	req.SetContext(ctx)
2048	req.ApplyOptions(opts...)
2049	return out, req.Send()
2050}
2051
2052// GetExternalModelsPages iterates over the pages of a GetExternalModels operation,
2053// calling the "fn" function with the response data for each page. To stop
2054// iterating, return false from the fn function.
2055//
2056// See GetExternalModels method for more information on how to use this operation.
2057//
2058// Note: This operation can generate multiple requests to a service.
2059//
2060//    // Example iterating over at most 3 pages of a GetExternalModels operation.
2061//    pageNum := 0
2062//    err := client.GetExternalModelsPages(params,
2063//        func(page *frauddetector.GetExternalModelsOutput, lastPage bool) bool {
2064//            pageNum++
2065//            fmt.Println(page)
2066//            return pageNum <= 3
2067//        })
2068//
2069func (c *FraudDetector) GetExternalModelsPages(input *GetExternalModelsInput, fn func(*GetExternalModelsOutput, bool) bool) error {
2070	return c.GetExternalModelsPagesWithContext(aws.BackgroundContext(), input, fn)
2071}
2072
2073// GetExternalModelsPagesWithContext same as GetExternalModelsPages except
2074// it takes a Context and allows setting request options on the pages.
2075//
2076// The context must be non-nil and will be used for request cancellation. If
2077// the context is nil a panic will occur. In the future the SDK may create
2078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2079// for more information on using Contexts.
2080func (c *FraudDetector) GetExternalModelsPagesWithContext(ctx aws.Context, input *GetExternalModelsInput, fn func(*GetExternalModelsOutput, bool) bool, opts ...request.Option) error {
2081	p := request.Pagination{
2082		NewRequest: func() (*request.Request, error) {
2083			var inCpy *GetExternalModelsInput
2084			if input != nil {
2085				tmp := *input
2086				inCpy = &tmp
2087			}
2088			req, _ := c.GetExternalModelsRequest(inCpy)
2089			req.SetContext(ctx)
2090			req.ApplyOptions(opts...)
2091			return req, nil
2092		},
2093	}
2094
2095	for p.Next() {
2096		if !fn(p.Page().(*GetExternalModelsOutput), !p.HasNextPage()) {
2097			break
2098		}
2099	}
2100
2101	return p.Err()
2102}
2103
2104const opGetKMSEncryptionKey = "GetKMSEncryptionKey"
2105
2106// GetKMSEncryptionKeyRequest generates a "aws/request.Request" representing the
2107// client's request for the GetKMSEncryptionKey operation. The "output" return
2108// value will be populated with the request's response once the request completes
2109// successfully.
2110//
2111// Use "Send" method on the returned Request to send the API call to the service.
2112// the "output" return value is not valid until after Send returns without error.
2113//
2114// See GetKMSEncryptionKey for more information on using the GetKMSEncryptionKey
2115// API call, and error handling.
2116//
2117// This method is useful when you want to inject custom logic or configuration
2118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2119//
2120//
2121//    // Example sending a request using the GetKMSEncryptionKeyRequest method.
2122//    req, resp := client.GetKMSEncryptionKeyRequest(params)
2123//
2124//    err := req.Send()
2125//    if err == nil { // resp is now filled
2126//        fmt.Println(resp)
2127//    }
2128//
2129// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetKMSEncryptionKey
2130func (c *FraudDetector) GetKMSEncryptionKeyRequest(input *GetKMSEncryptionKeyInput) (req *request.Request, output *GetKMSEncryptionKeyOutput) {
2131	op := &request.Operation{
2132		Name:       opGetKMSEncryptionKey,
2133		HTTPMethod: "POST",
2134		HTTPPath:   "/",
2135	}
2136
2137	if input == nil {
2138		input = &GetKMSEncryptionKeyInput{}
2139	}
2140
2141	output = &GetKMSEncryptionKeyOutput{}
2142	req = c.newRequest(op, input, output)
2143	return
2144}
2145
2146// GetKMSEncryptionKey API operation for Amazon Fraud Detector.
2147//
2148// Gets the encryption key if a Key Management Service (KMS) customer master
2149// key (CMK) has been specified to be used to encrypt content in Amazon Fraud
2150// Detector.
2151//
2152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2153// with awserr.Error's Code and Message methods to get detailed information about
2154// the error.
2155//
2156// See the AWS API reference guide for Amazon Fraud Detector's
2157// API operation GetKMSEncryptionKey for usage and error information.
2158//
2159// Returned Error Types:
2160//   * ResourceNotFoundException
2161//   An exception indicating the specified resource was not found.
2162//
2163//   * InternalServerException
2164//   An exception indicating an internal server error.
2165//
2166//   * AccessDeniedException
2167//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2168//   This can occur if you submit a request, such as PutExternalModel, that specifies
2169//   a role that is not in your account.
2170//
2171// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetKMSEncryptionKey
2172func (c *FraudDetector) GetKMSEncryptionKey(input *GetKMSEncryptionKeyInput) (*GetKMSEncryptionKeyOutput, error) {
2173	req, out := c.GetKMSEncryptionKeyRequest(input)
2174	return out, req.Send()
2175}
2176
2177// GetKMSEncryptionKeyWithContext is the same as GetKMSEncryptionKey with the addition of
2178// the ability to pass a context and additional request options.
2179//
2180// See GetKMSEncryptionKey for details on how to use this API operation.
2181//
2182// The context must be non-nil and will be used for request cancellation. If
2183// the context is nil a panic will occur. In the future the SDK may create
2184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2185// for more information on using Contexts.
2186func (c *FraudDetector) GetKMSEncryptionKeyWithContext(ctx aws.Context, input *GetKMSEncryptionKeyInput, opts ...request.Option) (*GetKMSEncryptionKeyOutput, error) {
2187	req, out := c.GetKMSEncryptionKeyRequest(input)
2188	req.SetContext(ctx)
2189	req.ApplyOptions(opts...)
2190	return out, req.Send()
2191}
2192
2193const opGetLabels = "GetLabels"
2194
2195// GetLabelsRequest generates a "aws/request.Request" representing the
2196// client's request for the GetLabels operation. The "output" return
2197// value will be populated with the request's response once the request completes
2198// successfully.
2199//
2200// Use "Send" method on the returned Request to send the API call to the service.
2201// the "output" return value is not valid until after Send returns without error.
2202//
2203// See GetLabels for more information on using the GetLabels
2204// API call, and error handling.
2205//
2206// This method is useful when you want to inject custom logic or configuration
2207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2208//
2209//
2210//    // Example sending a request using the GetLabelsRequest method.
2211//    req, resp := client.GetLabelsRequest(params)
2212//
2213//    err := req.Send()
2214//    if err == nil { // resp is now filled
2215//        fmt.Println(resp)
2216//    }
2217//
2218// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetLabels
2219func (c *FraudDetector) GetLabelsRequest(input *GetLabelsInput) (req *request.Request, output *GetLabelsOutput) {
2220	op := &request.Operation{
2221		Name:       opGetLabels,
2222		HTTPMethod: "POST",
2223		HTTPPath:   "/",
2224		Paginator: &request.Paginator{
2225			InputTokens:     []string{"nextToken"},
2226			OutputTokens:    []string{"nextToken"},
2227			LimitToken:      "maxResults",
2228			TruncationToken: "",
2229		},
2230	}
2231
2232	if input == nil {
2233		input = &GetLabelsInput{}
2234	}
2235
2236	output = &GetLabelsOutput{}
2237	req = c.newRequest(op, input, output)
2238	return
2239}
2240
2241// GetLabels API operation for Amazon Fraud Detector.
2242//
2243// Gets all labels or a specific label if name is provided. This is a paginated
2244// API. If you provide a null maxResults, this action retrieves a maximum of
2245// 50 records per page. If you provide a maxResults, the value must be between
2246// 10 and 50. To get the next page results, provide the pagination token from
2247// the GetGetLabelsResponse as part of your request. A null pagination token
2248// fetches the records from the beginning.
2249//
2250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2251// with awserr.Error's Code and Message methods to get detailed information about
2252// the error.
2253//
2254// See the AWS API reference guide for Amazon Fraud Detector's
2255// API operation GetLabels for usage and error information.
2256//
2257// Returned Error Types:
2258//   * ValidationException
2259//   An exception indicating a specified value is not allowed.
2260//
2261//   * ResourceNotFoundException
2262//   An exception indicating the specified resource was not found.
2263//
2264//   * InternalServerException
2265//   An exception indicating an internal server error.
2266//
2267//   * AccessDeniedException
2268//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2269//   This can occur if you submit a request, such as PutExternalModel, that specifies
2270//   a role that is not in your account.
2271//
2272// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetLabels
2273func (c *FraudDetector) GetLabels(input *GetLabelsInput) (*GetLabelsOutput, error) {
2274	req, out := c.GetLabelsRequest(input)
2275	return out, req.Send()
2276}
2277
2278// GetLabelsWithContext is the same as GetLabels with the addition of
2279// the ability to pass a context and additional request options.
2280//
2281// See GetLabels for details on how to use this API operation.
2282//
2283// The context must be non-nil and will be used for request cancellation. If
2284// the context is nil a panic will occur. In the future the SDK may create
2285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2286// for more information on using Contexts.
2287func (c *FraudDetector) GetLabelsWithContext(ctx aws.Context, input *GetLabelsInput, opts ...request.Option) (*GetLabelsOutput, error) {
2288	req, out := c.GetLabelsRequest(input)
2289	req.SetContext(ctx)
2290	req.ApplyOptions(opts...)
2291	return out, req.Send()
2292}
2293
2294// GetLabelsPages iterates over the pages of a GetLabels operation,
2295// calling the "fn" function with the response data for each page. To stop
2296// iterating, return false from the fn function.
2297//
2298// See GetLabels method for more information on how to use this operation.
2299//
2300// Note: This operation can generate multiple requests to a service.
2301//
2302//    // Example iterating over at most 3 pages of a GetLabels operation.
2303//    pageNum := 0
2304//    err := client.GetLabelsPages(params,
2305//        func(page *frauddetector.GetLabelsOutput, lastPage bool) bool {
2306//            pageNum++
2307//            fmt.Println(page)
2308//            return pageNum <= 3
2309//        })
2310//
2311func (c *FraudDetector) GetLabelsPages(input *GetLabelsInput, fn func(*GetLabelsOutput, bool) bool) error {
2312	return c.GetLabelsPagesWithContext(aws.BackgroundContext(), input, fn)
2313}
2314
2315// GetLabelsPagesWithContext same as GetLabelsPages except
2316// it takes a Context and allows setting request options on the pages.
2317//
2318// The context must be non-nil and will be used for request cancellation. If
2319// the context is nil a panic will occur. In the future the SDK may create
2320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2321// for more information on using Contexts.
2322func (c *FraudDetector) GetLabelsPagesWithContext(ctx aws.Context, input *GetLabelsInput, fn func(*GetLabelsOutput, bool) bool, opts ...request.Option) error {
2323	p := request.Pagination{
2324		NewRequest: func() (*request.Request, error) {
2325			var inCpy *GetLabelsInput
2326			if input != nil {
2327				tmp := *input
2328				inCpy = &tmp
2329			}
2330			req, _ := c.GetLabelsRequest(inCpy)
2331			req.SetContext(ctx)
2332			req.ApplyOptions(opts...)
2333			return req, nil
2334		},
2335	}
2336
2337	for p.Next() {
2338		if !fn(p.Page().(*GetLabelsOutput), !p.HasNextPage()) {
2339			break
2340		}
2341	}
2342
2343	return p.Err()
2344}
2345
2346const opGetModelVersion = "GetModelVersion"
2347
2348// GetModelVersionRequest generates a "aws/request.Request" representing the
2349// client's request for the GetModelVersion operation. The "output" return
2350// value will be populated with the request's response once the request completes
2351// successfully.
2352//
2353// Use "Send" method on the returned Request to send the API call to the service.
2354// the "output" return value is not valid until after Send returns without error.
2355//
2356// See GetModelVersion for more information on using the GetModelVersion
2357// API call, and error handling.
2358//
2359// This method is useful when you want to inject custom logic or configuration
2360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2361//
2362//
2363//    // Example sending a request using the GetModelVersionRequest method.
2364//    req, resp := client.GetModelVersionRequest(params)
2365//
2366//    err := req.Send()
2367//    if err == nil { // resp is now filled
2368//        fmt.Println(resp)
2369//    }
2370//
2371// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion
2372func (c *FraudDetector) GetModelVersionRequest(input *GetModelVersionInput) (req *request.Request, output *GetModelVersionOutput) {
2373	op := &request.Operation{
2374		Name:       opGetModelVersion,
2375		HTTPMethod: "POST",
2376		HTTPPath:   "/",
2377	}
2378
2379	if input == nil {
2380		input = &GetModelVersionInput{}
2381	}
2382
2383	output = &GetModelVersionOutput{}
2384	req = c.newRequest(op, input, output)
2385	return
2386}
2387
2388// GetModelVersion API operation for Amazon Fraud Detector.
2389//
2390// Gets the details of the specified model version.
2391//
2392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2393// with awserr.Error's Code and Message methods to get detailed information about
2394// the error.
2395//
2396// See the AWS API reference guide for Amazon Fraud Detector's
2397// API operation GetModelVersion for usage and error information.
2398//
2399// Returned Error Types:
2400//   * ValidationException
2401//   An exception indicating a specified value is not allowed.
2402//
2403//   * ResourceNotFoundException
2404//   An exception indicating the specified resource was not found.
2405//
2406//   * InternalServerException
2407//   An exception indicating an internal server error.
2408//
2409//   * AccessDeniedException
2410//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2411//   This can occur if you submit a request, such as PutExternalModel, that specifies
2412//   a role that is not in your account.
2413//
2414// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion
2415func (c *FraudDetector) GetModelVersion(input *GetModelVersionInput) (*GetModelVersionOutput, error) {
2416	req, out := c.GetModelVersionRequest(input)
2417	return out, req.Send()
2418}
2419
2420// GetModelVersionWithContext is the same as GetModelVersion with the addition of
2421// the ability to pass a context and additional request options.
2422//
2423// See GetModelVersion for details on how to use this API operation.
2424//
2425// The context must be non-nil and will be used for request cancellation. If
2426// the context is nil a panic will occur. In the future the SDK may create
2427// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2428// for more information on using Contexts.
2429func (c *FraudDetector) GetModelVersionWithContext(ctx aws.Context, input *GetModelVersionInput, opts ...request.Option) (*GetModelVersionOutput, error) {
2430	req, out := c.GetModelVersionRequest(input)
2431	req.SetContext(ctx)
2432	req.ApplyOptions(opts...)
2433	return out, req.Send()
2434}
2435
2436const opGetModels = "GetModels"
2437
2438// GetModelsRequest generates a "aws/request.Request" representing the
2439// client's request for the GetModels operation. The "output" return
2440// value will be populated with the request's response once the request completes
2441// successfully.
2442//
2443// Use "Send" method on the returned Request to send the API call to the service.
2444// the "output" return value is not valid until after Send returns without error.
2445//
2446// See GetModels for more information on using the GetModels
2447// API call, and error handling.
2448//
2449// This method is useful when you want to inject custom logic or configuration
2450// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2451//
2452//
2453//    // Example sending a request using the GetModelsRequest method.
2454//    req, resp := client.GetModelsRequest(params)
2455//
2456//    err := req.Send()
2457//    if err == nil { // resp is now filled
2458//        fmt.Println(resp)
2459//    }
2460//
2461// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels
2462func (c *FraudDetector) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
2463	op := &request.Operation{
2464		Name:       opGetModels,
2465		HTTPMethod: "POST",
2466		HTTPPath:   "/",
2467		Paginator: &request.Paginator{
2468			InputTokens:     []string{"nextToken"},
2469			OutputTokens:    []string{"nextToken"},
2470			LimitToken:      "maxResults",
2471			TruncationToken: "",
2472		},
2473	}
2474
2475	if input == nil {
2476		input = &GetModelsInput{}
2477	}
2478
2479	output = &GetModelsOutput{}
2480	req = c.newRequest(op, input, output)
2481	return
2482}
2483
2484// GetModels API operation for Amazon Fraud Detector.
2485//
2486// Gets one or more models. Gets all models for the AWS account if no model
2487// type and no model id provided. Gets all models for the AWS account and model
2488// type, if the model type is specified but model id is not provided. Gets a
2489// specific model if (model type, model id) tuple is specified.
2490//
2491// This is a paginated API. If you provide a null maxResults, this action retrieves
2492// a maximum of 10 records per page. If you provide a maxResults, the value
2493// must be between 1 and 10. To get the next page results, provide the pagination
2494// token from the response as part of your request. A null pagination token
2495// fetches the records from the beginning.
2496//
2497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2498// with awserr.Error's Code and Message methods to get detailed information about
2499// the error.
2500//
2501// See the AWS API reference guide for Amazon Fraud Detector's
2502// API operation GetModels for usage and error information.
2503//
2504// Returned Error Types:
2505//   * ValidationException
2506//   An exception indicating a specified value is not allowed.
2507//
2508//   * ResourceNotFoundException
2509//   An exception indicating the specified resource was not found.
2510//
2511//   * InternalServerException
2512//   An exception indicating an internal server error.
2513//
2514//   * AccessDeniedException
2515//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2516//   This can occur if you submit a request, such as PutExternalModel, that specifies
2517//   a role that is not in your account.
2518//
2519// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels
2520func (c *FraudDetector) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
2521	req, out := c.GetModelsRequest(input)
2522	return out, req.Send()
2523}
2524
2525// GetModelsWithContext is the same as GetModels with the addition of
2526// the ability to pass a context and additional request options.
2527//
2528// See GetModels for details on how to use this API operation.
2529//
2530// The context must be non-nil and will be used for request cancellation. If
2531// the context is nil a panic will occur. In the future the SDK may create
2532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2533// for more information on using Contexts.
2534func (c *FraudDetector) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
2535	req, out := c.GetModelsRequest(input)
2536	req.SetContext(ctx)
2537	req.ApplyOptions(opts...)
2538	return out, req.Send()
2539}
2540
2541// GetModelsPages iterates over the pages of a GetModels operation,
2542// calling the "fn" function with the response data for each page. To stop
2543// iterating, return false from the fn function.
2544//
2545// See GetModels method for more information on how to use this operation.
2546//
2547// Note: This operation can generate multiple requests to a service.
2548//
2549//    // Example iterating over at most 3 pages of a GetModels operation.
2550//    pageNum := 0
2551//    err := client.GetModelsPages(params,
2552//        func(page *frauddetector.GetModelsOutput, lastPage bool) bool {
2553//            pageNum++
2554//            fmt.Println(page)
2555//            return pageNum <= 3
2556//        })
2557//
2558func (c *FraudDetector) GetModelsPages(input *GetModelsInput, fn func(*GetModelsOutput, bool) bool) error {
2559	return c.GetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
2560}
2561
2562// GetModelsPagesWithContext same as GetModelsPages except
2563// it takes a Context and allows setting request options on the pages.
2564//
2565// The context must be non-nil and will be used for request cancellation. If
2566// the context is nil a panic will occur. In the future the SDK may create
2567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2568// for more information on using Contexts.
2569func (c *FraudDetector) GetModelsPagesWithContext(ctx aws.Context, input *GetModelsInput, fn func(*GetModelsOutput, bool) bool, opts ...request.Option) error {
2570	p := request.Pagination{
2571		NewRequest: func() (*request.Request, error) {
2572			var inCpy *GetModelsInput
2573			if input != nil {
2574				tmp := *input
2575				inCpy = &tmp
2576			}
2577			req, _ := c.GetModelsRequest(inCpy)
2578			req.SetContext(ctx)
2579			req.ApplyOptions(opts...)
2580			return req, nil
2581		},
2582	}
2583
2584	for p.Next() {
2585		if !fn(p.Page().(*GetModelsOutput), !p.HasNextPage()) {
2586			break
2587		}
2588	}
2589
2590	return p.Err()
2591}
2592
2593const opGetOutcomes = "GetOutcomes"
2594
2595// GetOutcomesRequest generates a "aws/request.Request" representing the
2596// client's request for the GetOutcomes operation. The "output" return
2597// value will be populated with the request's response once the request completes
2598// successfully.
2599//
2600// Use "Send" method on the returned Request to send the API call to the service.
2601// the "output" return value is not valid until after Send returns without error.
2602//
2603// See GetOutcomes for more information on using the GetOutcomes
2604// API call, and error handling.
2605//
2606// This method is useful when you want to inject custom logic or configuration
2607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2608//
2609//
2610//    // Example sending a request using the GetOutcomesRequest method.
2611//    req, resp := client.GetOutcomesRequest(params)
2612//
2613//    err := req.Send()
2614//    if err == nil { // resp is now filled
2615//        fmt.Println(resp)
2616//    }
2617//
2618// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes
2619func (c *FraudDetector) GetOutcomesRequest(input *GetOutcomesInput) (req *request.Request, output *GetOutcomesOutput) {
2620	op := &request.Operation{
2621		Name:       opGetOutcomes,
2622		HTTPMethod: "POST",
2623		HTTPPath:   "/",
2624		Paginator: &request.Paginator{
2625			InputTokens:     []string{"nextToken"},
2626			OutputTokens:    []string{"nextToken"},
2627			LimitToken:      "maxResults",
2628			TruncationToken: "",
2629		},
2630	}
2631
2632	if input == nil {
2633		input = &GetOutcomesInput{}
2634	}
2635
2636	output = &GetOutcomesOutput{}
2637	req = c.newRequest(op, input, output)
2638	return
2639}
2640
2641// GetOutcomes API operation for Amazon Fraud Detector.
2642//
2643// Gets one or more outcomes. This is a paginated API. If you provide a null
2644// maxResults, this actions retrieves a maximum of 100 records per page. If
2645// you provide a maxResults, the value must be between 50 and 100. To get the
2646// next page results, provide the pagination token from the GetOutcomesResult
2647// as part of your request. A null pagination token fetches the records from
2648// the beginning.
2649//
2650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2651// with awserr.Error's Code and Message methods to get detailed information about
2652// the error.
2653//
2654// See the AWS API reference guide for Amazon Fraud Detector's
2655// API operation GetOutcomes for usage and error information.
2656//
2657// Returned Error Types:
2658//   * ValidationException
2659//   An exception indicating a specified value is not allowed.
2660//
2661//   * ResourceNotFoundException
2662//   An exception indicating the specified resource was not found.
2663//
2664//   * InternalServerException
2665//   An exception indicating an internal server error.
2666//
2667//   * ThrottlingException
2668//   An exception indicating a throttling error.
2669//
2670//   * AccessDeniedException
2671//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2672//   This can occur if you submit a request, such as PutExternalModel, that specifies
2673//   a role that is not in your account.
2674//
2675// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes
2676func (c *FraudDetector) GetOutcomes(input *GetOutcomesInput) (*GetOutcomesOutput, error) {
2677	req, out := c.GetOutcomesRequest(input)
2678	return out, req.Send()
2679}
2680
2681// GetOutcomesWithContext is the same as GetOutcomes with the addition of
2682// the ability to pass a context and additional request options.
2683//
2684// See GetOutcomes for details on how to use this API operation.
2685//
2686// The context must be non-nil and will be used for request cancellation. If
2687// the context is nil a panic will occur. In the future the SDK may create
2688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2689// for more information on using Contexts.
2690func (c *FraudDetector) GetOutcomesWithContext(ctx aws.Context, input *GetOutcomesInput, opts ...request.Option) (*GetOutcomesOutput, error) {
2691	req, out := c.GetOutcomesRequest(input)
2692	req.SetContext(ctx)
2693	req.ApplyOptions(opts...)
2694	return out, req.Send()
2695}
2696
2697// GetOutcomesPages iterates over the pages of a GetOutcomes operation,
2698// calling the "fn" function with the response data for each page. To stop
2699// iterating, return false from the fn function.
2700//
2701// See GetOutcomes method for more information on how to use this operation.
2702//
2703// Note: This operation can generate multiple requests to a service.
2704//
2705//    // Example iterating over at most 3 pages of a GetOutcomes operation.
2706//    pageNum := 0
2707//    err := client.GetOutcomesPages(params,
2708//        func(page *frauddetector.GetOutcomesOutput, lastPage bool) bool {
2709//            pageNum++
2710//            fmt.Println(page)
2711//            return pageNum <= 3
2712//        })
2713//
2714func (c *FraudDetector) GetOutcomesPages(input *GetOutcomesInput, fn func(*GetOutcomesOutput, bool) bool) error {
2715	return c.GetOutcomesPagesWithContext(aws.BackgroundContext(), input, fn)
2716}
2717
2718// GetOutcomesPagesWithContext same as GetOutcomesPages except
2719// it takes a Context and allows setting request options on the pages.
2720//
2721// The context must be non-nil and will be used for request cancellation. If
2722// the context is nil a panic will occur. In the future the SDK may create
2723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2724// for more information on using Contexts.
2725func (c *FraudDetector) GetOutcomesPagesWithContext(ctx aws.Context, input *GetOutcomesInput, fn func(*GetOutcomesOutput, bool) bool, opts ...request.Option) error {
2726	p := request.Pagination{
2727		NewRequest: func() (*request.Request, error) {
2728			var inCpy *GetOutcomesInput
2729			if input != nil {
2730				tmp := *input
2731				inCpy = &tmp
2732			}
2733			req, _ := c.GetOutcomesRequest(inCpy)
2734			req.SetContext(ctx)
2735			req.ApplyOptions(opts...)
2736			return req, nil
2737		},
2738	}
2739
2740	for p.Next() {
2741		if !fn(p.Page().(*GetOutcomesOutput), !p.HasNextPage()) {
2742			break
2743		}
2744	}
2745
2746	return p.Err()
2747}
2748
2749const opGetRules = "GetRules"
2750
2751// GetRulesRequest generates a "aws/request.Request" representing the
2752// client's request for the GetRules operation. The "output" return
2753// value will be populated with the request's response once the request completes
2754// successfully.
2755//
2756// Use "Send" method on the returned Request to send the API call to the service.
2757// the "output" return value is not valid until after Send returns without error.
2758//
2759// See GetRules for more information on using the GetRules
2760// API call, and error handling.
2761//
2762// This method is useful when you want to inject custom logic or configuration
2763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2764//
2765//
2766//    // Example sending a request using the GetRulesRequest method.
2767//    req, resp := client.GetRulesRequest(params)
2768//
2769//    err := req.Send()
2770//    if err == nil { // resp is now filled
2771//        fmt.Println(resp)
2772//    }
2773//
2774// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules
2775func (c *FraudDetector) GetRulesRequest(input *GetRulesInput) (req *request.Request, output *GetRulesOutput) {
2776	op := &request.Operation{
2777		Name:       opGetRules,
2778		HTTPMethod: "POST",
2779		HTTPPath:   "/",
2780		Paginator: &request.Paginator{
2781			InputTokens:     []string{"nextToken"},
2782			OutputTokens:    []string{"nextToken"},
2783			LimitToken:      "maxResults",
2784			TruncationToken: "",
2785		},
2786	}
2787
2788	if input == nil {
2789		input = &GetRulesInput{}
2790	}
2791
2792	output = &GetRulesOutput{}
2793	req = c.newRequest(op, input, output)
2794	return
2795}
2796
2797// GetRules API operation for Amazon Fraud Detector.
2798//
2799// Get all rules for a detector (paginated) if ruleId and ruleVersion are not
2800// specified. Gets all rules for the detector and the ruleId if present (paginated).
2801// Gets a specific rule if both the ruleId and the ruleVersion are specified.
2802//
2803// This is a paginated API. Providing null maxResults results in retrieving
2804// maximum of 100 records per page. If you provide maxResults the value must
2805// be between 50 and 100. To get the next page result, a provide a pagination
2806// token from GetRulesResult as part of your request. Null pagination token
2807// fetches the records from the beginning.
2808//
2809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2810// with awserr.Error's Code and Message methods to get detailed information about
2811// the error.
2812//
2813// See the AWS API reference guide for Amazon Fraud Detector's
2814// API operation GetRules for usage and error information.
2815//
2816// Returned Error Types:
2817//   * ValidationException
2818//   An exception indicating a specified value is not allowed.
2819//
2820//   * ResourceNotFoundException
2821//   An exception indicating the specified resource was not found.
2822//
2823//   * InternalServerException
2824//   An exception indicating an internal server error.
2825//
2826//   * ThrottlingException
2827//   An exception indicating a throttling error.
2828//
2829//   * AccessDeniedException
2830//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2831//   This can occur if you submit a request, such as PutExternalModel, that specifies
2832//   a role that is not in your account.
2833//
2834// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules
2835func (c *FraudDetector) GetRules(input *GetRulesInput) (*GetRulesOutput, error) {
2836	req, out := c.GetRulesRequest(input)
2837	return out, req.Send()
2838}
2839
2840// GetRulesWithContext is the same as GetRules with the addition of
2841// the ability to pass a context and additional request options.
2842//
2843// See GetRules for details on how to use this API operation.
2844//
2845// The context must be non-nil and will be used for request cancellation. If
2846// the context is nil a panic will occur. In the future the SDK may create
2847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2848// for more information on using Contexts.
2849func (c *FraudDetector) GetRulesWithContext(ctx aws.Context, input *GetRulesInput, opts ...request.Option) (*GetRulesOutput, error) {
2850	req, out := c.GetRulesRequest(input)
2851	req.SetContext(ctx)
2852	req.ApplyOptions(opts...)
2853	return out, req.Send()
2854}
2855
2856// GetRulesPages iterates over the pages of a GetRules operation,
2857// calling the "fn" function with the response data for each page. To stop
2858// iterating, return false from the fn function.
2859//
2860// See GetRules method for more information on how to use this operation.
2861//
2862// Note: This operation can generate multiple requests to a service.
2863//
2864//    // Example iterating over at most 3 pages of a GetRules operation.
2865//    pageNum := 0
2866//    err := client.GetRulesPages(params,
2867//        func(page *frauddetector.GetRulesOutput, lastPage bool) bool {
2868//            pageNum++
2869//            fmt.Println(page)
2870//            return pageNum <= 3
2871//        })
2872//
2873func (c *FraudDetector) GetRulesPages(input *GetRulesInput, fn func(*GetRulesOutput, bool) bool) error {
2874	return c.GetRulesPagesWithContext(aws.BackgroundContext(), input, fn)
2875}
2876
2877// GetRulesPagesWithContext same as GetRulesPages except
2878// it takes a Context and allows setting request options on the pages.
2879//
2880// The context must be non-nil and will be used for request cancellation. If
2881// the context is nil a panic will occur. In the future the SDK may create
2882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2883// for more information on using Contexts.
2884func (c *FraudDetector) GetRulesPagesWithContext(ctx aws.Context, input *GetRulesInput, fn func(*GetRulesOutput, bool) bool, opts ...request.Option) error {
2885	p := request.Pagination{
2886		NewRequest: func() (*request.Request, error) {
2887			var inCpy *GetRulesInput
2888			if input != nil {
2889				tmp := *input
2890				inCpy = &tmp
2891			}
2892			req, _ := c.GetRulesRequest(inCpy)
2893			req.SetContext(ctx)
2894			req.ApplyOptions(opts...)
2895			return req, nil
2896		},
2897	}
2898
2899	for p.Next() {
2900		if !fn(p.Page().(*GetRulesOutput), !p.HasNextPage()) {
2901			break
2902		}
2903	}
2904
2905	return p.Err()
2906}
2907
2908const opGetVariables = "GetVariables"
2909
2910// GetVariablesRequest generates a "aws/request.Request" representing the
2911// client's request for the GetVariables operation. The "output" return
2912// value will be populated with the request's response once the request completes
2913// successfully.
2914//
2915// Use "Send" method on the returned Request to send the API call to the service.
2916// the "output" return value is not valid until after Send returns without error.
2917//
2918// See GetVariables for more information on using the GetVariables
2919// API call, and error handling.
2920//
2921// This method is useful when you want to inject custom logic or configuration
2922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2923//
2924//
2925//    // Example sending a request using the GetVariablesRequest method.
2926//    req, resp := client.GetVariablesRequest(params)
2927//
2928//    err := req.Send()
2929//    if err == nil { // resp is now filled
2930//        fmt.Println(resp)
2931//    }
2932//
2933// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables
2934func (c *FraudDetector) GetVariablesRequest(input *GetVariablesInput) (req *request.Request, output *GetVariablesOutput) {
2935	op := &request.Operation{
2936		Name:       opGetVariables,
2937		HTTPMethod: "POST",
2938		HTTPPath:   "/",
2939		Paginator: &request.Paginator{
2940			InputTokens:     []string{"nextToken"},
2941			OutputTokens:    []string{"nextToken"},
2942			LimitToken:      "maxResults",
2943			TruncationToken: "",
2944		},
2945	}
2946
2947	if input == nil {
2948		input = &GetVariablesInput{}
2949	}
2950
2951	output = &GetVariablesOutput{}
2952	req = c.newRequest(op, input, output)
2953	return
2954}
2955
2956// GetVariables API operation for Amazon Fraud Detector.
2957//
2958// Gets all of the variables or the specific variable. This is a paginated API.
2959// Providing null maxSizePerPage results in retrieving maximum of 100 records
2960// per page. If you provide maxSizePerPage the value must be between 50 and
2961// 100. To get the next page result, a provide a pagination token from GetVariablesResult
2962// as part of your request. Null pagination token fetches the records from the
2963// beginning.
2964//
2965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2966// with awserr.Error's Code and Message methods to get detailed information about
2967// the error.
2968//
2969// See the AWS API reference guide for Amazon Fraud Detector's
2970// API operation GetVariables for usage and error information.
2971//
2972// Returned Error Types:
2973//   * ValidationException
2974//   An exception indicating a specified value is not allowed.
2975//
2976//   * ResourceNotFoundException
2977//   An exception indicating the specified resource was not found.
2978//
2979//   * InternalServerException
2980//   An exception indicating an internal server error.
2981//
2982//   * ThrottlingException
2983//   An exception indicating a throttling error.
2984//
2985//   * AccessDeniedException
2986//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
2987//   This can occur if you submit a request, such as PutExternalModel, that specifies
2988//   a role that is not in your account.
2989//
2990// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables
2991func (c *FraudDetector) GetVariables(input *GetVariablesInput) (*GetVariablesOutput, error) {
2992	req, out := c.GetVariablesRequest(input)
2993	return out, req.Send()
2994}
2995
2996// GetVariablesWithContext is the same as GetVariables with the addition of
2997// the ability to pass a context and additional request options.
2998//
2999// See GetVariables for details on how to use this API operation.
3000//
3001// The context must be non-nil and will be used for request cancellation. If
3002// the context is nil a panic will occur. In the future the SDK may create
3003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3004// for more information on using Contexts.
3005func (c *FraudDetector) GetVariablesWithContext(ctx aws.Context, input *GetVariablesInput, opts ...request.Option) (*GetVariablesOutput, error) {
3006	req, out := c.GetVariablesRequest(input)
3007	req.SetContext(ctx)
3008	req.ApplyOptions(opts...)
3009	return out, req.Send()
3010}
3011
3012// GetVariablesPages iterates over the pages of a GetVariables operation,
3013// calling the "fn" function with the response data for each page. To stop
3014// iterating, return false from the fn function.
3015//
3016// See GetVariables method for more information on how to use this operation.
3017//
3018// Note: This operation can generate multiple requests to a service.
3019//
3020//    // Example iterating over at most 3 pages of a GetVariables operation.
3021//    pageNum := 0
3022//    err := client.GetVariablesPages(params,
3023//        func(page *frauddetector.GetVariablesOutput, lastPage bool) bool {
3024//            pageNum++
3025//            fmt.Println(page)
3026//            return pageNum <= 3
3027//        })
3028//
3029func (c *FraudDetector) GetVariablesPages(input *GetVariablesInput, fn func(*GetVariablesOutput, bool) bool) error {
3030	return c.GetVariablesPagesWithContext(aws.BackgroundContext(), input, fn)
3031}
3032
3033// GetVariablesPagesWithContext same as GetVariablesPages except
3034// it takes a Context and allows setting request options on the pages.
3035//
3036// The context must be non-nil and will be used for request cancellation. If
3037// the context is nil a panic will occur. In the future the SDK may create
3038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3039// for more information on using Contexts.
3040func (c *FraudDetector) GetVariablesPagesWithContext(ctx aws.Context, input *GetVariablesInput, fn func(*GetVariablesOutput, bool) bool, opts ...request.Option) error {
3041	p := request.Pagination{
3042		NewRequest: func() (*request.Request, error) {
3043			var inCpy *GetVariablesInput
3044			if input != nil {
3045				tmp := *input
3046				inCpy = &tmp
3047			}
3048			req, _ := c.GetVariablesRequest(inCpy)
3049			req.SetContext(ctx)
3050			req.ApplyOptions(opts...)
3051			return req, nil
3052		},
3053	}
3054
3055	for p.Next() {
3056		if !fn(p.Page().(*GetVariablesOutput), !p.HasNextPage()) {
3057			break
3058		}
3059	}
3060
3061	return p.Err()
3062}
3063
3064const opListTagsForResource = "ListTagsForResource"
3065
3066// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3067// client's request for the ListTagsForResource operation. The "output" return
3068// value will be populated with the request's response once the request completes
3069// successfully.
3070//
3071// Use "Send" method on the returned Request to send the API call to the service.
3072// the "output" return value is not valid until after Send returns without error.
3073//
3074// See ListTagsForResource for more information on using the ListTagsForResource
3075// API call, and error handling.
3076//
3077// This method is useful when you want to inject custom logic or configuration
3078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3079//
3080//
3081//    // Example sending a request using the ListTagsForResourceRequest method.
3082//    req, resp := client.ListTagsForResourceRequest(params)
3083//
3084//    err := req.Send()
3085//    if err == nil { // resp is now filled
3086//        fmt.Println(resp)
3087//    }
3088//
3089// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/ListTagsForResource
3090func (c *FraudDetector) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3091	op := &request.Operation{
3092		Name:       opListTagsForResource,
3093		HTTPMethod: "POST",
3094		HTTPPath:   "/",
3095		Paginator: &request.Paginator{
3096			InputTokens:     []string{"nextToken"},
3097			OutputTokens:    []string{"nextToken"},
3098			LimitToken:      "maxResults",
3099			TruncationToken: "",
3100		},
3101	}
3102
3103	if input == nil {
3104		input = &ListTagsForResourceInput{}
3105	}
3106
3107	output = &ListTagsForResourceOutput{}
3108	req = c.newRequest(op, input, output)
3109	return
3110}
3111
3112// ListTagsForResource API operation for Amazon Fraud Detector.
3113//
3114// Lists all tags associated with the resource. This is a paginated API. To
3115// get the next page results, provide the pagination token from the response
3116// as part of your request. A null pagination token fetches the records from
3117// the beginning.
3118//
3119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3120// with awserr.Error's Code and Message methods to get detailed information about
3121// the error.
3122//
3123// See the AWS API reference guide for Amazon Fraud Detector's
3124// API operation ListTagsForResource for usage and error information.
3125//
3126// Returned Error Types:
3127//   * ValidationException
3128//   An exception indicating a specified value is not allowed.
3129//
3130//   * ResourceNotFoundException
3131//   An exception indicating the specified resource was not found.
3132//
3133//   * AccessDeniedException
3134//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3135//   This can occur if you submit a request, such as PutExternalModel, that specifies
3136//   a role that is not in your account.
3137//
3138// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/ListTagsForResource
3139func (c *FraudDetector) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3140	req, out := c.ListTagsForResourceRequest(input)
3141	return out, req.Send()
3142}
3143
3144// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3145// the ability to pass a context and additional request options.
3146//
3147// See ListTagsForResource for details on how to use this API operation.
3148//
3149// The context must be non-nil and will be used for request cancellation. If
3150// the context is nil a panic will occur. In the future the SDK may create
3151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3152// for more information on using Contexts.
3153func (c *FraudDetector) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3154	req, out := c.ListTagsForResourceRequest(input)
3155	req.SetContext(ctx)
3156	req.ApplyOptions(opts...)
3157	return out, req.Send()
3158}
3159
3160// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
3161// calling the "fn" function with the response data for each page. To stop
3162// iterating, return false from the fn function.
3163//
3164// See ListTagsForResource method for more information on how to use this operation.
3165//
3166// Note: This operation can generate multiple requests to a service.
3167//
3168//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
3169//    pageNum := 0
3170//    err := client.ListTagsForResourcePages(params,
3171//        func(page *frauddetector.ListTagsForResourceOutput, lastPage bool) bool {
3172//            pageNum++
3173//            fmt.Println(page)
3174//            return pageNum <= 3
3175//        })
3176//
3177func (c *FraudDetector) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
3178	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
3179}
3180
3181// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
3182// it takes a Context and allows setting request options on the pages.
3183//
3184// The context must be non-nil and will be used for request cancellation. If
3185// the context is nil a panic will occur. In the future the SDK may create
3186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3187// for more information on using Contexts.
3188func (c *FraudDetector) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
3189	p := request.Pagination{
3190		NewRequest: func() (*request.Request, error) {
3191			var inCpy *ListTagsForResourceInput
3192			if input != nil {
3193				tmp := *input
3194				inCpy = &tmp
3195			}
3196			req, _ := c.ListTagsForResourceRequest(inCpy)
3197			req.SetContext(ctx)
3198			req.ApplyOptions(opts...)
3199			return req, nil
3200		},
3201	}
3202
3203	for p.Next() {
3204		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
3205			break
3206		}
3207	}
3208
3209	return p.Err()
3210}
3211
3212const opPutDetector = "PutDetector"
3213
3214// PutDetectorRequest generates a "aws/request.Request" representing the
3215// client's request for the PutDetector operation. The "output" return
3216// value will be populated with the request's response once the request completes
3217// successfully.
3218//
3219// Use "Send" method on the returned Request to send the API call to the service.
3220// the "output" return value is not valid until after Send returns without error.
3221//
3222// See PutDetector for more information on using the PutDetector
3223// API call, and error handling.
3224//
3225// This method is useful when you want to inject custom logic or configuration
3226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3227//
3228//
3229//    // Example sending a request using the PutDetectorRequest method.
3230//    req, resp := client.PutDetectorRequest(params)
3231//
3232//    err := req.Send()
3233//    if err == nil { // resp is now filled
3234//        fmt.Println(resp)
3235//    }
3236//
3237// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector
3238func (c *FraudDetector) PutDetectorRequest(input *PutDetectorInput) (req *request.Request, output *PutDetectorOutput) {
3239	op := &request.Operation{
3240		Name:       opPutDetector,
3241		HTTPMethod: "POST",
3242		HTTPPath:   "/",
3243	}
3244
3245	if input == nil {
3246		input = &PutDetectorInput{}
3247	}
3248
3249	output = &PutDetectorOutput{}
3250	req = c.newRequest(op, input, output)
3251	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3252	return
3253}
3254
3255// PutDetector API operation for Amazon Fraud Detector.
3256//
3257// Creates or updates a detector.
3258//
3259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3260// with awserr.Error's Code and Message methods to get detailed information about
3261// the error.
3262//
3263// See the AWS API reference guide for Amazon Fraud Detector's
3264// API operation PutDetector for usage and error information.
3265//
3266// Returned Error Types:
3267//   * ValidationException
3268//   An exception indicating a specified value is not allowed.
3269//
3270//   * InternalServerException
3271//   An exception indicating an internal server error.
3272//
3273//   * ThrottlingException
3274//   An exception indicating a throttling error.
3275//
3276//   * AccessDeniedException
3277//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3278//   This can occur if you submit a request, such as PutExternalModel, that specifies
3279//   a role that is not in your account.
3280//
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector
3282func (c *FraudDetector) PutDetector(input *PutDetectorInput) (*PutDetectorOutput, error) {
3283	req, out := c.PutDetectorRequest(input)
3284	return out, req.Send()
3285}
3286
3287// PutDetectorWithContext is the same as PutDetector with the addition of
3288// the ability to pass a context and additional request options.
3289//
3290// See PutDetector for details on how to use this API operation.
3291//
3292// The context must be non-nil and will be used for request cancellation. If
3293// the context is nil a panic will occur. In the future the SDK may create
3294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3295// for more information on using Contexts.
3296func (c *FraudDetector) PutDetectorWithContext(ctx aws.Context, input *PutDetectorInput, opts ...request.Option) (*PutDetectorOutput, error) {
3297	req, out := c.PutDetectorRequest(input)
3298	req.SetContext(ctx)
3299	req.ApplyOptions(opts...)
3300	return out, req.Send()
3301}
3302
3303const opPutEntityType = "PutEntityType"
3304
3305// PutEntityTypeRequest generates a "aws/request.Request" representing the
3306// client's request for the PutEntityType operation. The "output" return
3307// value will be populated with the request's response once the request completes
3308// successfully.
3309//
3310// Use "Send" method on the returned Request to send the API call to the service.
3311// the "output" return value is not valid until after Send returns without error.
3312//
3313// See PutEntityType for more information on using the PutEntityType
3314// API call, and error handling.
3315//
3316// This method is useful when you want to inject custom logic or configuration
3317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3318//
3319//
3320//    // Example sending a request using the PutEntityTypeRequest method.
3321//    req, resp := client.PutEntityTypeRequest(params)
3322//
3323//    err := req.Send()
3324//    if err == nil { // resp is now filled
3325//        fmt.Println(resp)
3326//    }
3327//
3328// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEntityType
3329func (c *FraudDetector) PutEntityTypeRequest(input *PutEntityTypeInput) (req *request.Request, output *PutEntityTypeOutput) {
3330	op := &request.Operation{
3331		Name:       opPutEntityType,
3332		HTTPMethod: "POST",
3333		HTTPPath:   "/",
3334	}
3335
3336	if input == nil {
3337		input = &PutEntityTypeInput{}
3338	}
3339
3340	output = &PutEntityTypeOutput{}
3341	req = c.newRequest(op, input, output)
3342	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3343	return
3344}
3345
3346// PutEntityType API operation for Amazon Fraud Detector.
3347//
3348// Creates or updates an entity type. An entity represents who is performing
3349// the event. As part of a fraud prediction, you pass the entity ID to indicate
3350// the specific entity who performed the event. An entity type classifies the
3351// entity. Example classifications include customer, merchant, or account.
3352//
3353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3354// with awserr.Error's Code and Message methods to get detailed information about
3355// the error.
3356//
3357// See the AWS API reference guide for Amazon Fraud Detector's
3358// API operation PutEntityType for usage and error information.
3359//
3360// Returned Error Types:
3361//   * ValidationException
3362//   An exception indicating a specified value is not allowed.
3363//
3364//   * InternalServerException
3365//   An exception indicating an internal server error.
3366//
3367//   * AccessDeniedException
3368//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3369//   This can occur if you submit a request, such as PutExternalModel, that specifies
3370//   a role that is not in your account.
3371//
3372// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEntityType
3373func (c *FraudDetector) PutEntityType(input *PutEntityTypeInput) (*PutEntityTypeOutput, error) {
3374	req, out := c.PutEntityTypeRequest(input)
3375	return out, req.Send()
3376}
3377
3378// PutEntityTypeWithContext is the same as PutEntityType with the addition of
3379// the ability to pass a context and additional request options.
3380//
3381// See PutEntityType for details on how to use this API operation.
3382//
3383// The context must be non-nil and will be used for request cancellation. If
3384// the context is nil a panic will occur. In the future the SDK may create
3385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3386// for more information on using Contexts.
3387func (c *FraudDetector) PutEntityTypeWithContext(ctx aws.Context, input *PutEntityTypeInput, opts ...request.Option) (*PutEntityTypeOutput, error) {
3388	req, out := c.PutEntityTypeRequest(input)
3389	req.SetContext(ctx)
3390	req.ApplyOptions(opts...)
3391	return out, req.Send()
3392}
3393
3394const opPutEventType = "PutEventType"
3395
3396// PutEventTypeRequest generates a "aws/request.Request" representing the
3397// client's request for the PutEventType operation. The "output" return
3398// value will be populated with the request's response once the request completes
3399// successfully.
3400//
3401// Use "Send" method on the returned Request to send the API call to the service.
3402// the "output" return value is not valid until after Send returns without error.
3403//
3404// See PutEventType for more information on using the PutEventType
3405// API call, and error handling.
3406//
3407// This method is useful when you want to inject custom logic or configuration
3408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3409//
3410//
3411//    // Example sending a request using the PutEventTypeRequest method.
3412//    req, resp := client.PutEventTypeRequest(params)
3413//
3414//    err := req.Send()
3415//    if err == nil { // resp is now filled
3416//        fmt.Println(resp)
3417//    }
3418//
3419// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEventType
3420func (c *FraudDetector) PutEventTypeRequest(input *PutEventTypeInput) (req *request.Request, output *PutEventTypeOutput) {
3421	op := &request.Operation{
3422		Name:       opPutEventType,
3423		HTTPMethod: "POST",
3424		HTTPPath:   "/",
3425	}
3426
3427	if input == nil {
3428		input = &PutEventTypeInput{}
3429	}
3430
3431	output = &PutEventTypeOutput{}
3432	req = c.newRequest(op, input, output)
3433	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3434	return
3435}
3436
3437// PutEventType API operation for Amazon Fraud Detector.
3438//
3439// Creates or updates an event type. An event is a business activity that is
3440// evaluated for fraud risk. With Amazon Fraud Detector, you generate fraud
3441// predictions for events. An event type defines the structure for an event
3442// sent to Amazon Fraud Detector. This includes the variables sent as part of
3443// the event, the entity performing the event (such as a customer), and the
3444// labels that classify the event. Example event types include online payment
3445// transactions, account registrations, and authentications.
3446//
3447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3448// with awserr.Error's Code and Message methods to get detailed information about
3449// the error.
3450//
3451// See the AWS API reference guide for Amazon Fraud Detector's
3452// API operation PutEventType for usage and error information.
3453//
3454// Returned Error Types:
3455//   * ValidationException
3456//   An exception indicating a specified value is not allowed.
3457//
3458//   * InternalServerException
3459//   An exception indicating an internal server error.
3460//
3461//   * AccessDeniedException
3462//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3463//   This can occur if you submit a request, such as PutExternalModel, that specifies
3464//   a role that is not in your account.
3465//
3466// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutEventType
3467func (c *FraudDetector) PutEventType(input *PutEventTypeInput) (*PutEventTypeOutput, error) {
3468	req, out := c.PutEventTypeRequest(input)
3469	return out, req.Send()
3470}
3471
3472// PutEventTypeWithContext is the same as PutEventType with the addition of
3473// the ability to pass a context and additional request options.
3474//
3475// See PutEventType for details on how to use this API operation.
3476//
3477// The context must be non-nil and will be used for request cancellation. If
3478// the context is nil a panic will occur. In the future the SDK may create
3479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3480// for more information on using Contexts.
3481func (c *FraudDetector) PutEventTypeWithContext(ctx aws.Context, input *PutEventTypeInput, opts ...request.Option) (*PutEventTypeOutput, error) {
3482	req, out := c.PutEventTypeRequest(input)
3483	req.SetContext(ctx)
3484	req.ApplyOptions(opts...)
3485	return out, req.Send()
3486}
3487
3488const opPutExternalModel = "PutExternalModel"
3489
3490// PutExternalModelRequest generates a "aws/request.Request" representing the
3491// client's request for the PutExternalModel operation. The "output" return
3492// value will be populated with the request's response once the request completes
3493// successfully.
3494//
3495// Use "Send" method on the returned Request to send the API call to the service.
3496// the "output" return value is not valid until after Send returns without error.
3497//
3498// See PutExternalModel for more information on using the PutExternalModel
3499// API call, and error handling.
3500//
3501// This method is useful when you want to inject custom logic or configuration
3502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3503//
3504//
3505//    // Example sending a request using the PutExternalModelRequest method.
3506//    req, resp := client.PutExternalModelRequest(params)
3507//
3508//    err := req.Send()
3509//    if err == nil { // resp is now filled
3510//        fmt.Println(resp)
3511//    }
3512//
3513// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel
3514func (c *FraudDetector) PutExternalModelRequest(input *PutExternalModelInput) (req *request.Request, output *PutExternalModelOutput) {
3515	op := &request.Operation{
3516		Name:       opPutExternalModel,
3517		HTTPMethod: "POST",
3518		HTTPPath:   "/",
3519	}
3520
3521	if input == nil {
3522		input = &PutExternalModelInput{}
3523	}
3524
3525	output = &PutExternalModelOutput{}
3526	req = c.newRequest(op, input, output)
3527	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3528	return
3529}
3530
3531// PutExternalModel API operation for Amazon Fraud Detector.
3532//
3533// Creates or updates an Amazon SageMaker model endpoint. You can also use this
3534// action to update the configuration of the model endpoint, including the IAM
3535// role and/or the mapped variables.
3536//
3537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3538// with awserr.Error's Code and Message methods to get detailed information about
3539// the error.
3540//
3541// See the AWS API reference guide for Amazon Fraud Detector's
3542// API operation PutExternalModel for usage and error information.
3543//
3544// Returned Error Types:
3545//   * ValidationException
3546//   An exception indicating a specified value is not allowed.
3547//
3548//   * InternalServerException
3549//   An exception indicating an internal server error.
3550//
3551//   * ThrottlingException
3552//   An exception indicating a throttling error.
3553//
3554//   * AccessDeniedException
3555//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3556//   This can occur if you submit a request, such as PutExternalModel, that specifies
3557//   a role that is not in your account.
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel
3560func (c *FraudDetector) PutExternalModel(input *PutExternalModelInput) (*PutExternalModelOutput, error) {
3561	req, out := c.PutExternalModelRequest(input)
3562	return out, req.Send()
3563}
3564
3565// PutExternalModelWithContext is the same as PutExternalModel with the addition of
3566// the ability to pass a context and additional request options.
3567//
3568// See PutExternalModel for details on how to use this API operation.
3569//
3570// The context must be non-nil and will be used for request cancellation. If
3571// the context is nil a panic will occur. In the future the SDK may create
3572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3573// for more information on using Contexts.
3574func (c *FraudDetector) PutExternalModelWithContext(ctx aws.Context, input *PutExternalModelInput, opts ...request.Option) (*PutExternalModelOutput, error) {
3575	req, out := c.PutExternalModelRequest(input)
3576	req.SetContext(ctx)
3577	req.ApplyOptions(opts...)
3578	return out, req.Send()
3579}
3580
3581const opPutKMSEncryptionKey = "PutKMSEncryptionKey"
3582
3583// PutKMSEncryptionKeyRequest generates a "aws/request.Request" representing the
3584// client's request for the PutKMSEncryptionKey operation. The "output" return
3585// value will be populated with the request's response once the request completes
3586// successfully.
3587//
3588// Use "Send" method on the returned Request to send the API call to the service.
3589// the "output" return value is not valid until after Send returns without error.
3590//
3591// See PutKMSEncryptionKey for more information on using the PutKMSEncryptionKey
3592// API call, and error handling.
3593//
3594// This method is useful when you want to inject custom logic or configuration
3595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3596//
3597//
3598//    // Example sending a request using the PutKMSEncryptionKeyRequest method.
3599//    req, resp := client.PutKMSEncryptionKeyRequest(params)
3600//
3601//    err := req.Send()
3602//    if err == nil { // resp is now filled
3603//        fmt.Println(resp)
3604//    }
3605//
3606// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutKMSEncryptionKey
3607func (c *FraudDetector) PutKMSEncryptionKeyRequest(input *PutKMSEncryptionKeyInput) (req *request.Request, output *PutKMSEncryptionKeyOutput) {
3608	op := &request.Operation{
3609		Name:       opPutKMSEncryptionKey,
3610		HTTPMethod: "POST",
3611		HTTPPath:   "/",
3612	}
3613
3614	if input == nil {
3615		input = &PutKMSEncryptionKeyInput{}
3616	}
3617
3618	output = &PutKMSEncryptionKeyOutput{}
3619	req = c.newRequest(op, input, output)
3620	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3621	return
3622}
3623
3624// PutKMSEncryptionKey API operation for Amazon Fraud Detector.
3625//
3626// Specifies the Key Management Service (KMS) customer master key (CMK) to be
3627// used to encrypt content in Amazon Fraud Detector.
3628//
3629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3630// with awserr.Error's Code and Message methods to get detailed information about
3631// the error.
3632//
3633// See the AWS API reference guide for Amazon Fraud Detector's
3634// API operation PutKMSEncryptionKey for usage and error information.
3635//
3636// Returned Error Types:
3637//   * ValidationException
3638//   An exception indicating a specified value is not allowed.
3639//
3640//   * ResourceNotFoundException
3641//   An exception indicating the specified resource was not found.
3642//
3643//   * InternalServerException
3644//   An exception indicating an internal server error.
3645//
3646//   * AccessDeniedException
3647//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3648//   This can occur if you submit a request, such as PutExternalModel, that specifies
3649//   a role that is not in your account.
3650//
3651// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutKMSEncryptionKey
3652func (c *FraudDetector) PutKMSEncryptionKey(input *PutKMSEncryptionKeyInput) (*PutKMSEncryptionKeyOutput, error) {
3653	req, out := c.PutKMSEncryptionKeyRequest(input)
3654	return out, req.Send()
3655}
3656
3657// PutKMSEncryptionKeyWithContext is the same as PutKMSEncryptionKey with the addition of
3658// the ability to pass a context and additional request options.
3659//
3660// See PutKMSEncryptionKey for details on how to use this API operation.
3661//
3662// The context must be non-nil and will be used for request cancellation. If
3663// the context is nil a panic will occur. In the future the SDK may create
3664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3665// for more information on using Contexts.
3666func (c *FraudDetector) PutKMSEncryptionKeyWithContext(ctx aws.Context, input *PutKMSEncryptionKeyInput, opts ...request.Option) (*PutKMSEncryptionKeyOutput, error) {
3667	req, out := c.PutKMSEncryptionKeyRequest(input)
3668	req.SetContext(ctx)
3669	req.ApplyOptions(opts...)
3670	return out, req.Send()
3671}
3672
3673const opPutLabel = "PutLabel"
3674
3675// PutLabelRequest generates a "aws/request.Request" representing the
3676// client's request for the PutLabel operation. The "output" return
3677// value will be populated with the request's response once the request completes
3678// successfully.
3679//
3680// Use "Send" method on the returned Request to send the API call to the service.
3681// the "output" return value is not valid until after Send returns without error.
3682//
3683// See PutLabel for more information on using the PutLabel
3684// API call, and error handling.
3685//
3686// This method is useful when you want to inject custom logic or configuration
3687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3688//
3689//
3690//    // Example sending a request using the PutLabelRequest method.
3691//    req, resp := client.PutLabelRequest(params)
3692//
3693//    err := req.Send()
3694//    if err == nil { // resp is now filled
3695//        fmt.Println(resp)
3696//    }
3697//
3698// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutLabel
3699func (c *FraudDetector) PutLabelRequest(input *PutLabelInput) (req *request.Request, output *PutLabelOutput) {
3700	op := &request.Operation{
3701		Name:       opPutLabel,
3702		HTTPMethod: "POST",
3703		HTTPPath:   "/",
3704	}
3705
3706	if input == nil {
3707		input = &PutLabelInput{}
3708	}
3709
3710	output = &PutLabelOutput{}
3711	req = c.newRequest(op, input, output)
3712	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3713	return
3714}
3715
3716// PutLabel API operation for Amazon Fraud Detector.
3717//
3718// Creates or updates label. A label classifies an event as fraudulent or legitimate.
3719// Labels are associated with event types and used to train supervised machine
3720// learning models in Amazon Fraud Detector.
3721//
3722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3723// with awserr.Error's Code and Message methods to get detailed information about
3724// the error.
3725//
3726// See the AWS API reference guide for Amazon Fraud Detector's
3727// API operation PutLabel for usage and error information.
3728//
3729// Returned Error Types:
3730//   * ValidationException
3731//   An exception indicating a specified value is not allowed.
3732//
3733//   * InternalServerException
3734//   An exception indicating an internal server error.
3735//
3736//   * AccessDeniedException
3737//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3738//   This can occur if you submit a request, such as PutExternalModel, that specifies
3739//   a role that is not in your account.
3740//
3741// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutLabel
3742func (c *FraudDetector) PutLabel(input *PutLabelInput) (*PutLabelOutput, error) {
3743	req, out := c.PutLabelRequest(input)
3744	return out, req.Send()
3745}
3746
3747// PutLabelWithContext is the same as PutLabel with the addition of
3748// the ability to pass a context and additional request options.
3749//
3750// See PutLabel for details on how to use this API operation.
3751//
3752// The context must be non-nil and will be used for request cancellation. If
3753// the context is nil a panic will occur. In the future the SDK may create
3754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3755// for more information on using Contexts.
3756func (c *FraudDetector) PutLabelWithContext(ctx aws.Context, input *PutLabelInput, opts ...request.Option) (*PutLabelOutput, error) {
3757	req, out := c.PutLabelRequest(input)
3758	req.SetContext(ctx)
3759	req.ApplyOptions(opts...)
3760	return out, req.Send()
3761}
3762
3763const opPutOutcome = "PutOutcome"
3764
3765// PutOutcomeRequest generates a "aws/request.Request" representing the
3766// client's request for the PutOutcome operation. The "output" return
3767// value will be populated with the request's response once the request completes
3768// successfully.
3769//
3770// Use "Send" method on the returned Request to send the API call to the service.
3771// the "output" return value is not valid until after Send returns without error.
3772//
3773// See PutOutcome for more information on using the PutOutcome
3774// API call, and error handling.
3775//
3776// This method is useful when you want to inject custom logic or configuration
3777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3778//
3779//
3780//    // Example sending a request using the PutOutcomeRequest method.
3781//    req, resp := client.PutOutcomeRequest(params)
3782//
3783//    err := req.Send()
3784//    if err == nil { // resp is now filled
3785//        fmt.Println(resp)
3786//    }
3787//
3788// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome
3789func (c *FraudDetector) PutOutcomeRequest(input *PutOutcomeInput) (req *request.Request, output *PutOutcomeOutput) {
3790	op := &request.Operation{
3791		Name:       opPutOutcome,
3792		HTTPMethod: "POST",
3793		HTTPPath:   "/",
3794	}
3795
3796	if input == nil {
3797		input = &PutOutcomeInput{}
3798	}
3799
3800	output = &PutOutcomeOutput{}
3801	req = c.newRequest(op, input, output)
3802	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3803	return
3804}
3805
3806// PutOutcome API operation for Amazon Fraud Detector.
3807//
3808// Creates or updates an outcome.
3809//
3810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3811// with awserr.Error's Code and Message methods to get detailed information about
3812// the error.
3813//
3814// See the AWS API reference guide for Amazon Fraud Detector's
3815// API operation PutOutcome for usage and error information.
3816//
3817// Returned Error Types:
3818//   * ValidationException
3819//   An exception indicating a specified value is not allowed.
3820//
3821//   * InternalServerException
3822//   An exception indicating an internal server error.
3823//
3824//   * ThrottlingException
3825//   An exception indicating a throttling error.
3826//
3827//   * AccessDeniedException
3828//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3829//   This can occur if you submit a request, such as PutExternalModel, that specifies
3830//   a role that is not in your account.
3831//
3832// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome
3833func (c *FraudDetector) PutOutcome(input *PutOutcomeInput) (*PutOutcomeOutput, error) {
3834	req, out := c.PutOutcomeRequest(input)
3835	return out, req.Send()
3836}
3837
3838// PutOutcomeWithContext is the same as PutOutcome with the addition of
3839// the ability to pass a context and additional request options.
3840//
3841// See PutOutcome for details on how to use this API operation.
3842//
3843// The context must be non-nil and will be used for request cancellation. If
3844// the context is nil a panic will occur. In the future the SDK may create
3845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3846// for more information on using Contexts.
3847func (c *FraudDetector) PutOutcomeWithContext(ctx aws.Context, input *PutOutcomeInput, opts ...request.Option) (*PutOutcomeOutput, error) {
3848	req, out := c.PutOutcomeRequest(input)
3849	req.SetContext(ctx)
3850	req.ApplyOptions(opts...)
3851	return out, req.Send()
3852}
3853
3854const opTagResource = "TagResource"
3855
3856// TagResourceRequest generates a "aws/request.Request" representing the
3857// client's request for the TagResource operation. The "output" return
3858// value will be populated with the request's response once the request completes
3859// successfully.
3860//
3861// Use "Send" method on the returned Request to send the API call to the service.
3862// the "output" return value is not valid until after Send returns without error.
3863//
3864// See TagResource for more information on using the TagResource
3865// API call, and error handling.
3866//
3867// This method is useful when you want to inject custom logic or configuration
3868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3869//
3870//
3871//    // Example sending a request using the TagResourceRequest method.
3872//    req, resp := client.TagResourceRequest(params)
3873//
3874//    err := req.Send()
3875//    if err == nil { // resp is now filled
3876//        fmt.Println(resp)
3877//    }
3878//
3879// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/TagResource
3880func (c *FraudDetector) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3881	op := &request.Operation{
3882		Name:       opTagResource,
3883		HTTPMethod: "POST",
3884		HTTPPath:   "/",
3885	}
3886
3887	if input == nil {
3888		input = &TagResourceInput{}
3889	}
3890
3891	output = &TagResourceOutput{}
3892	req = c.newRequest(op, input, output)
3893	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3894	return
3895}
3896
3897// TagResource API operation for Amazon Fraud Detector.
3898//
3899// Assigns tags to a resource.
3900//
3901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3902// with awserr.Error's Code and Message methods to get detailed information about
3903// the error.
3904//
3905// See the AWS API reference guide for Amazon Fraud Detector's
3906// API operation TagResource for usage and error information.
3907//
3908// Returned Error Types:
3909//   * ValidationException
3910//   An exception indicating a specified value is not allowed.
3911//
3912//   * ResourceNotFoundException
3913//   An exception indicating the specified resource was not found.
3914//
3915//   * AccessDeniedException
3916//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
3917//   This can occur if you submit a request, such as PutExternalModel, that specifies
3918//   a role that is not in your account.
3919//
3920// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/TagResource
3921func (c *FraudDetector) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3922	req, out := c.TagResourceRequest(input)
3923	return out, req.Send()
3924}
3925
3926// TagResourceWithContext is the same as TagResource with the addition of
3927// the ability to pass a context and additional request options.
3928//
3929// See TagResource for details on how to use this API operation.
3930//
3931// The context must be non-nil and will be used for request cancellation. If
3932// the context is nil a panic will occur. In the future the SDK may create
3933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3934// for more information on using Contexts.
3935func (c *FraudDetector) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3936	req, out := c.TagResourceRequest(input)
3937	req.SetContext(ctx)
3938	req.ApplyOptions(opts...)
3939	return out, req.Send()
3940}
3941
3942const opUntagResource = "UntagResource"
3943
3944// UntagResourceRequest generates a "aws/request.Request" representing the
3945// client's request for the UntagResource operation. The "output" return
3946// value will be populated with the request's response once the request completes
3947// successfully.
3948//
3949// Use "Send" method on the returned Request to send the API call to the service.
3950// the "output" return value is not valid until after Send returns without error.
3951//
3952// See UntagResource for more information on using the UntagResource
3953// API call, and error handling.
3954//
3955// This method is useful when you want to inject custom logic or configuration
3956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3957//
3958//
3959//    // Example sending a request using the UntagResourceRequest method.
3960//    req, resp := client.UntagResourceRequest(params)
3961//
3962//    err := req.Send()
3963//    if err == nil { // resp is now filled
3964//        fmt.Println(resp)
3965//    }
3966//
3967// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UntagResource
3968func (c *FraudDetector) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3969	op := &request.Operation{
3970		Name:       opUntagResource,
3971		HTTPMethod: "POST",
3972		HTTPPath:   "/",
3973	}
3974
3975	if input == nil {
3976		input = &UntagResourceInput{}
3977	}
3978
3979	output = &UntagResourceOutput{}
3980	req = c.newRequest(op, input, output)
3981	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3982	return
3983}
3984
3985// UntagResource API operation for Amazon Fraud Detector.
3986//
3987// Removes tags from a resource.
3988//
3989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3990// with awserr.Error's Code and Message methods to get detailed information about
3991// the error.
3992//
3993// See the AWS API reference guide for Amazon Fraud Detector's
3994// API operation UntagResource for usage and error information.
3995//
3996// Returned Error Types:
3997//   * ValidationException
3998//   An exception indicating a specified value is not allowed.
3999//
4000//   * ResourceNotFoundException
4001//   An exception indicating the specified resource was not found.
4002//
4003//   * AccessDeniedException
4004//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4005//   This can occur if you submit a request, such as PutExternalModel, that specifies
4006//   a role that is not in your account.
4007//
4008// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UntagResource
4009func (c *FraudDetector) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4010	req, out := c.UntagResourceRequest(input)
4011	return out, req.Send()
4012}
4013
4014// UntagResourceWithContext is the same as UntagResource with the addition of
4015// the ability to pass a context and additional request options.
4016//
4017// See UntagResource for details on how to use this API operation.
4018//
4019// The context must be non-nil and will be used for request cancellation. If
4020// the context is nil a panic will occur. In the future the SDK may create
4021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4022// for more information on using Contexts.
4023func (c *FraudDetector) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4024	req, out := c.UntagResourceRequest(input)
4025	req.SetContext(ctx)
4026	req.ApplyOptions(opts...)
4027	return out, req.Send()
4028}
4029
4030const opUpdateDetectorVersion = "UpdateDetectorVersion"
4031
4032// UpdateDetectorVersionRequest generates a "aws/request.Request" representing the
4033// client's request for the UpdateDetectorVersion operation. The "output" return
4034// value will be populated with the request's response once the request completes
4035// successfully.
4036//
4037// Use "Send" method on the returned Request to send the API call to the service.
4038// the "output" return value is not valid until after Send returns without error.
4039//
4040// See UpdateDetectorVersion for more information on using the UpdateDetectorVersion
4041// API call, and error handling.
4042//
4043// This method is useful when you want to inject custom logic or configuration
4044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4045//
4046//
4047//    // Example sending a request using the UpdateDetectorVersionRequest method.
4048//    req, resp := client.UpdateDetectorVersionRequest(params)
4049//
4050//    err := req.Send()
4051//    if err == nil { // resp is now filled
4052//        fmt.Println(resp)
4053//    }
4054//
4055// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion
4056func (c *FraudDetector) UpdateDetectorVersionRequest(input *UpdateDetectorVersionInput) (req *request.Request, output *UpdateDetectorVersionOutput) {
4057	op := &request.Operation{
4058		Name:       opUpdateDetectorVersion,
4059		HTTPMethod: "POST",
4060		HTTPPath:   "/",
4061	}
4062
4063	if input == nil {
4064		input = &UpdateDetectorVersionInput{}
4065	}
4066
4067	output = &UpdateDetectorVersionOutput{}
4068	req = c.newRequest(op, input, output)
4069	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4070	return
4071}
4072
4073// UpdateDetectorVersion API operation for Amazon Fraud Detector.
4074//
4075// Updates a detector version. The detector version attributes that you can
4076// update include models, external model endpoints, rules, rule execution mode,
4077// and description. You can only update a DRAFT detector version.
4078//
4079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4080// with awserr.Error's Code and Message methods to get detailed information about
4081// the error.
4082//
4083// See the AWS API reference guide for Amazon Fraud Detector's
4084// API operation UpdateDetectorVersion for usage and error information.
4085//
4086// Returned Error Types:
4087//   * ValidationException
4088//   An exception indicating a specified value is not allowed.
4089//
4090//   * ResourceNotFoundException
4091//   An exception indicating the specified resource was not found.
4092//
4093//   * InternalServerException
4094//   An exception indicating an internal server error.
4095//
4096//   * ThrottlingException
4097//   An exception indicating a throttling error.
4098//
4099//   * AccessDeniedException
4100//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4101//   This can occur if you submit a request, such as PutExternalModel, that specifies
4102//   a role that is not in your account.
4103//
4104// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion
4105func (c *FraudDetector) UpdateDetectorVersion(input *UpdateDetectorVersionInput) (*UpdateDetectorVersionOutput, error) {
4106	req, out := c.UpdateDetectorVersionRequest(input)
4107	return out, req.Send()
4108}
4109
4110// UpdateDetectorVersionWithContext is the same as UpdateDetectorVersion with the addition of
4111// the ability to pass a context and additional request options.
4112//
4113// See UpdateDetectorVersion for details on how to use this API operation.
4114//
4115// The context must be non-nil and will be used for request cancellation. If
4116// the context is nil a panic will occur. In the future the SDK may create
4117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4118// for more information on using Contexts.
4119func (c *FraudDetector) UpdateDetectorVersionWithContext(ctx aws.Context, input *UpdateDetectorVersionInput, opts ...request.Option) (*UpdateDetectorVersionOutput, error) {
4120	req, out := c.UpdateDetectorVersionRequest(input)
4121	req.SetContext(ctx)
4122	req.ApplyOptions(opts...)
4123	return out, req.Send()
4124}
4125
4126const opUpdateDetectorVersionMetadata = "UpdateDetectorVersionMetadata"
4127
4128// UpdateDetectorVersionMetadataRequest generates a "aws/request.Request" representing the
4129// client's request for the UpdateDetectorVersionMetadata operation. The "output" return
4130// value will be populated with the request's response once the request completes
4131// successfully.
4132//
4133// Use "Send" method on the returned Request to send the API call to the service.
4134// the "output" return value is not valid until after Send returns without error.
4135//
4136// See UpdateDetectorVersionMetadata for more information on using the UpdateDetectorVersionMetadata
4137// API call, and error handling.
4138//
4139// This method is useful when you want to inject custom logic or configuration
4140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4141//
4142//
4143//    // Example sending a request using the UpdateDetectorVersionMetadataRequest method.
4144//    req, resp := client.UpdateDetectorVersionMetadataRequest(params)
4145//
4146//    err := req.Send()
4147//    if err == nil { // resp is now filled
4148//        fmt.Println(resp)
4149//    }
4150//
4151// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata
4152func (c *FraudDetector) UpdateDetectorVersionMetadataRequest(input *UpdateDetectorVersionMetadataInput) (req *request.Request, output *UpdateDetectorVersionMetadataOutput) {
4153	op := &request.Operation{
4154		Name:       opUpdateDetectorVersionMetadata,
4155		HTTPMethod: "POST",
4156		HTTPPath:   "/",
4157	}
4158
4159	if input == nil {
4160		input = &UpdateDetectorVersionMetadataInput{}
4161	}
4162
4163	output = &UpdateDetectorVersionMetadataOutput{}
4164	req = c.newRequest(op, input, output)
4165	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4166	return
4167}
4168
4169// UpdateDetectorVersionMetadata API operation for Amazon Fraud Detector.
4170//
4171// Updates the detector version's description. You can update the metadata for
4172// any detector version (DRAFT, ACTIVE, or INACTIVE).
4173//
4174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4175// with awserr.Error's Code and Message methods to get detailed information about
4176// the error.
4177//
4178// See the AWS API reference guide for Amazon Fraud Detector's
4179// API operation UpdateDetectorVersionMetadata for usage and error information.
4180//
4181// Returned Error Types:
4182//   * ValidationException
4183//   An exception indicating a specified value is not allowed.
4184//
4185//   * InternalServerException
4186//   An exception indicating an internal server error.
4187//
4188//   * ThrottlingException
4189//   An exception indicating a throttling error.
4190//
4191//   * AccessDeniedException
4192//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4193//   This can occur if you submit a request, such as PutExternalModel, that specifies
4194//   a role that is not in your account.
4195//
4196// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata
4197func (c *FraudDetector) UpdateDetectorVersionMetadata(input *UpdateDetectorVersionMetadataInput) (*UpdateDetectorVersionMetadataOutput, error) {
4198	req, out := c.UpdateDetectorVersionMetadataRequest(input)
4199	return out, req.Send()
4200}
4201
4202// UpdateDetectorVersionMetadataWithContext is the same as UpdateDetectorVersionMetadata with the addition of
4203// the ability to pass a context and additional request options.
4204//
4205// See UpdateDetectorVersionMetadata for details on how to use this API operation.
4206//
4207// The context must be non-nil and will be used for request cancellation. If
4208// the context is nil a panic will occur. In the future the SDK may create
4209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4210// for more information on using Contexts.
4211func (c *FraudDetector) UpdateDetectorVersionMetadataWithContext(ctx aws.Context, input *UpdateDetectorVersionMetadataInput, opts ...request.Option) (*UpdateDetectorVersionMetadataOutput, error) {
4212	req, out := c.UpdateDetectorVersionMetadataRequest(input)
4213	req.SetContext(ctx)
4214	req.ApplyOptions(opts...)
4215	return out, req.Send()
4216}
4217
4218const opUpdateDetectorVersionStatus = "UpdateDetectorVersionStatus"
4219
4220// UpdateDetectorVersionStatusRequest generates a "aws/request.Request" representing the
4221// client's request for the UpdateDetectorVersionStatus operation. The "output" return
4222// value will be populated with the request's response once the request completes
4223// successfully.
4224//
4225// Use "Send" method on the returned Request to send the API call to the service.
4226// the "output" return value is not valid until after Send returns without error.
4227//
4228// See UpdateDetectorVersionStatus for more information on using the UpdateDetectorVersionStatus
4229// API call, and error handling.
4230//
4231// This method is useful when you want to inject custom logic or configuration
4232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4233//
4234//
4235//    // Example sending a request using the UpdateDetectorVersionStatusRequest method.
4236//    req, resp := client.UpdateDetectorVersionStatusRequest(params)
4237//
4238//    err := req.Send()
4239//    if err == nil { // resp is now filled
4240//        fmt.Println(resp)
4241//    }
4242//
4243// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus
4244func (c *FraudDetector) UpdateDetectorVersionStatusRequest(input *UpdateDetectorVersionStatusInput) (req *request.Request, output *UpdateDetectorVersionStatusOutput) {
4245	op := &request.Operation{
4246		Name:       opUpdateDetectorVersionStatus,
4247		HTTPMethod: "POST",
4248		HTTPPath:   "/",
4249	}
4250
4251	if input == nil {
4252		input = &UpdateDetectorVersionStatusInput{}
4253	}
4254
4255	output = &UpdateDetectorVersionStatusOutput{}
4256	req = c.newRequest(op, input, output)
4257	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4258	return
4259}
4260
4261// UpdateDetectorVersionStatus API operation for Amazon Fraud Detector.
4262//
4263// Updates the detector version’s status. You can perform the following promotions
4264// or demotions using UpdateDetectorVersionStatus: DRAFT to ACTIVE, ACTIVE to
4265// INACTIVE, and INACTIVE to ACTIVE.
4266//
4267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4268// with awserr.Error's Code and Message methods to get detailed information about
4269// the error.
4270//
4271// See the AWS API reference guide for Amazon Fraud Detector's
4272// API operation UpdateDetectorVersionStatus for usage and error information.
4273//
4274// Returned Error Types:
4275//   * ValidationException
4276//   An exception indicating a specified value is not allowed.
4277//
4278//   * ResourceNotFoundException
4279//   An exception indicating the specified resource was not found.
4280//
4281//   * InternalServerException
4282//   An exception indicating an internal server error.
4283//
4284//   * ThrottlingException
4285//   An exception indicating a throttling error.
4286//
4287//   * AccessDeniedException
4288//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4289//   This can occur if you submit a request, such as PutExternalModel, that specifies
4290//   a role that is not in your account.
4291//
4292// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus
4293func (c *FraudDetector) UpdateDetectorVersionStatus(input *UpdateDetectorVersionStatusInput) (*UpdateDetectorVersionStatusOutput, error) {
4294	req, out := c.UpdateDetectorVersionStatusRequest(input)
4295	return out, req.Send()
4296}
4297
4298// UpdateDetectorVersionStatusWithContext is the same as UpdateDetectorVersionStatus with the addition of
4299// the ability to pass a context and additional request options.
4300//
4301// See UpdateDetectorVersionStatus for details on how to use this API operation.
4302//
4303// The context must be non-nil and will be used for request cancellation. If
4304// the context is nil a panic will occur. In the future the SDK may create
4305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4306// for more information on using Contexts.
4307func (c *FraudDetector) UpdateDetectorVersionStatusWithContext(ctx aws.Context, input *UpdateDetectorVersionStatusInput, opts ...request.Option) (*UpdateDetectorVersionStatusOutput, error) {
4308	req, out := c.UpdateDetectorVersionStatusRequest(input)
4309	req.SetContext(ctx)
4310	req.ApplyOptions(opts...)
4311	return out, req.Send()
4312}
4313
4314const opUpdateModel = "UpdateModel"
4315
4316// UpdateModelRequest generates a "aws/request.Request" representing the
4317// client's request for the UpdateModel operation. The "output" return
4318// value will be populated with the request's response once the request completes
4319// successfully.
4320//
4321// Use "Send" method on the returned Request to send the API call to the service.
4322// the "output" return value is not valid until after Send returns without error.
4323//
4324// See UpdateModel for more information on using the UpdateModel
4325// API call, and error handling.
4326//
4327// This method is useful when you want to inject custom logic or configuration
4328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4329//
4330//
4331//    // Example sending a request using the UpdateModelRequest method.
4332//    req, resp := client.UpdateModelRequest(params)
4333//
4334//    err := req.Send()
4335//    if err == nil { // resp is now filled
4336//        fmt.Println(resp)
4337//    }
4338//
4339// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModel
4340func (c *FraudDetector) UpdateModelRequest(input *UpdateModelInput) (req *request.Request, output *UpdateModelOutput) {
4341	op := &request.Operation{
4342		Name:       opUpdateModel,
4343		HTTPMethod: "POST",
4344		HTTPPath:   "/",
4345	}
4346
4347	if input == nil {
4348		input = &UpdateModelInput{}
4349	}
4350
4351	output = &UpdateModelOutput{}
4352	req = c.newRequest(op, input, output)
4353	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4354	return
4355}
4356
4357// UpdateModel API operation for Amazon Fraud Detector.
4358//
4359// Updates a model. You can update the description attribute using this action.
4360//
4361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4362// with awserr.Error's Code and Message methods to get detailed information about
4363// the error.
4364//
4365// See the AWS API reference guide for Amazon Fraud Detector's
4366// API operation UpdateModel for usage and error information.
4367//
4368// Returned Error Types:
4369//   * ValidationException
4370//   An exception indicating a specified value is not allowed.
4371//
4372//   * ResourceNotFoundException
4373//   An exception indicating the specified resource was not found.
4374//
4375//   * InternalServerException
4376//   An exception indicating an internal server error.
4377//
4378//   * AccessDeniedException
4379//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4380//   This can occur if you submit a request, such as PutExternalModel, that specifies
4381//   a role that is not in your account.
4382//
4383// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModel
4384func (c *FraudDetector) UpdateModel(input *UpdateModelInput) (*UpdateModelOutput, error) {
4385	req, out := c.UpdateModelRequest(input)
4386	return out, req.Send()
4387}
4388
4389// UpdateModelWithContext is the same as UpdateModel with the addition of
4390// the ability to pass a context and additional request options.
4391//
4392// See UpdateModel for details on how to use this API operation.
4393//
4394// The context must be non-nil and will be used for request cancellation. If
4395// the context is nil a panic will occur. In the future the SDK may create
4396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4397// for more information on using Contexts.
4398func (c *FraudDetector) UpdateModelWithContext(ctx aws.Context, input *UpdateModelInput, opts ...request.Option) (*UpdateModelOutput, error) {
4399	req, out := c.UpdateModelRequest(input)
4400	req.SetContext(ctx)
4401	req.ApplyOptions(opts...)
4402	return out, req.Send()
4403}
4404
4405const opUpdateModelVersion = "UpdateModelVersion"
4406
4407// UpdateModelVersionRequest generates a "aws/request.Request" representing the
4408// client's request for the UpdateModelVersion operation. The "output" return
4409// value will be populated with the request's response once the request completes
4410// successfully.
4411//
4412// Use "Send" method on the returned Request to send the API call to the service.
4413// the "output" return value is not valid until after Send returns without error.
4414//
4415// See UpdateModelVersion for more information on using the UpdateModelVersion
4416// API call, and error handling.
4417//
4418// This method is useful when you want to inject custom logic or configuration
4419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4420//
4421//
4422//    // Example sending a request using the UpdateModelVersionRequest method.
4423//    req, resp := client.UpdateModelVersionRequest(params)
4424//
4425//    err := req.Send()
4426//    if err == nil { // resp is now filled
4427//        fmt.Println(resp)
4428//    }
4429//
4430// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion
4431func (c *FraudDetector) UpdateModelVersionRequest(input *UpdateModelVersionInput) (req *request.Request, output *UpdateModelVersionOutput) {
4432	op := &request.Operation{
4433		Name:       opUpdateModelVersion,
4434		HTTPMethod: "POST",
4435		HTTPPath:   "/",
4436	}
4437
4438	if input == nil {
4439		input = &UpdateModelVersionInput{}
4440	}
4441
4442	output = &UpdateModelVersionOutput{}
4443	req = c.newRequest(op, input, output)
4444	return
4445}
4446
4447// UpdateModelVersion API operation for Amazon Fraud Detector.
4448//
4449// Updates a model version. Updating a model version retrains an existing model
4450// version using updated training data and produces a new minor version of the
4451// model. You can update the training data set location and data access role
4452// attributes using this action. This action creates and trains a new minor
4453// version of the model, for example version 1.01, 1.02, 1.03.
4454//
4455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4456// with awserr.Error's Code and Message methods to get detailed information about
4457// the error.
4458//
4459// See the AWS API reference guide for Amazon Fraud Detector's
4460// API operation UpdateModelVersion for usage and error information.
4461//
4462// Returned Error Types:
4463//   * ValidationException
4464//   An exception indicating a specified value is not allowed.
4465//
4466//   * ResourceNotFoundException
4467//   An exception indicating the specified resource was not found.
4468//
4469//   * AccessDeniedException
4470//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4471//   This can occur if you submit a request, such as PutExternalModel, that specifies
4472//   a role that is not in your account.
4473//
4474//   * InternalServerException
4475//   An exception indicating an internal server error.
4476//
4477// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion
4478func (c *FraudDetector) UpdateModelVersion(input *UpdateModelVersionInput) (*UpdateModelVersionOutput, error) {
4479	req, out := c.UpdateModelVersionRequest(input)
4480	return out, req.Send()
4481}
4482
4483// UpdateModelVersionWithContext is the same as UpdateModelVersion with the addition of
4484// the ability to pass a context and additional request options.
4485//
4486// See UpdateModelVersion for details on how to use this API operation.
4487//
4488// The context must be non-nil and will be used for request cancellation. If
4489// the context is nil a panic will occur. In the future the SDK may create
4490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4491// for more information on using Contexts.
4492func (c *FraudDetector) UpdateModelVersionWithContext(ctx aws.Context, input *UpdateModelVersionInput, opts ...request.Option) (*UpdateModelVersionOutput, error) {
4493	req, out := c.UpdateModelVersionRequest(input)
4494	req.SetContext(ctx)
4495	req.ApplyOptions(opts...)
4496	return out, req.Send()
4497}
4498
4499const opUpdateModelVersionStatus = "UpdateModelVersionStatus"
4500
4501// UpdateModelVersionStatusRequest generates a "aws/request.Request" representing the
4502// client's request for the UpdateModelVersionStatus operation. The "output" return
4503// value will be populated with the request's response once the request completes
4504// successfully.
4505//
4506// Use "Send" method on the returned Request to send the API call to the service.
4507// the "output" return value is not valid until after Send returns without error.
4508//
4509// See UpdateModelVersionStatus for more information on using the UpdateModelVersionStatus
4510// API call, and error handling.
4511//
4512// This method is useful when you want to inject custom logic or configuration
4513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4514//
4515//
4516//    // Example sending a request using the UpdateModelVersionStatusRequest method.
4517//    req, resp := client.UpdateModelVersionStatusRequest(params)
4518//
4519//    err := req.Send()
4520//    if err == nil { // resp is now filled
4521//        fmt.Println(resp)
4522//    }
4523//
4524// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersionStatus
4525func (c *FraudDetector) UpdateModelVersionStatusRequest(input *UpdateModelVersionStatusInput) (req *request.Request, output *UpdateModelVersionStatusOutput) {
4526	op := &request.Operation{
4527		Name:       opUpdateModelVersionStatus,
4528		HTTPMethod: "POST",
4529		HTTPPath:   "/",
4530	}
4531
4532	if input == nil {
4533		input = &UpdateModelVersionStatusInput{}
4534	}
4535
4536	output = &UpdateModelVersionStatusOutput{}
4537	req = c.newRequest(op, input, output)
4538	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4539	return
4540}
4541
4542// UpdateModelVersionStatus API operation for Amazon Fraud Detector.
4543//
4544// Updates the status of a model version.
4545//
4546// You can perform the following status updates:
4547//
4548// Change the TRAINING_COMPLETE status to ACTIVE.
4549//
4550// Change ACTIVEto INACTIVE.
4551//
4552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4553// with awserr.Error's Code and Message methods to get detailed information about
4554// the error.
4555//
4556// See the AWS API reference guide for Amazon Fraud Detector's
4557// API operation UpdateModelVersionStatus for usage and error information.
4558//
4559// Returned Error Types:
4560//   * ValidationException
4561//   An exception indicating a specified value is not allowed.
4562//
4563//   * ResourceNotFoundException
4564//   An exception indicating the specified resource was not found.
4565//
4566//   * InternalServerException
4567//   An exception indicating an internal server error.
4568//
4569//   * AccessDeniedException
4570//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4571//   This can occur if you submit a request, such as PutExternalModel, that specifies
4572//   a role that is not in your account.
4573//
4574// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersionStatus
4575func (c *FraudDetector) UpdateModelVersionStatus(input *UpdateModelVersionStatusInput) (*UpdateModelVersionStatusOutput, error) {
4576	req, out := c.UpdateModelVersionStatusRequest(input)
4577	return out, req.Send()
4578}
4579
4580// UpdateModelVersionStatusWithContext is the same as UpdateModelVersionStatus with the addition of
4581// the ability to pass a context and additional request options.
4582//
4583// See UpdateModelVersionStatus for details on how to use this API operation.
4584//
4585// The context must be non-nil and will be used for request cancellation. If
4586// the context is nil a panic will occur. In the future the SDK may create
4587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4588// for more information on using Contexts.
4589func (c *FraudDetector) UpdateModelVersionStatusWithContext(ctx aws.Context, input *UpdateModelVersionStatusInput, opts ...request.Option) (*UpdateModelVersionStatusOutput, error) {
4590	req, out := c.UpdateModelVersionStatusRequest(input)
4591	req.SetContext(ctx)
4592	req.ApplyOptions(opts...)
4593	return out, req.Send()
4594}
4595
4596const opUpdateRuleMetadata = "UpdateRuleMetadata"
4597
4598// UpdateRuleMetadataRequest generates a "aws/request.Request" representing the
4599// client's request for the UpdateRuleMetadata operation. The "output" return
4600// value will be populated with the request's response once the request completes
4601// successfully.
4602//
4603// Use "Send" method on the returned Request to send the API call to the service.
4604// the "output" return value is not valid until after Send returns without error.
4605//
4606// See UpdateRuleMetadata for more information on using the UpdateRuleMetadata
4607// API call, and error handling.
4608//
4609// This method is useful when you want to inject custom logic or configuration
4610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4611//
4612//
4613//    // Example sending a request using the UpdateRuleMetadataRequest method.
4614//    req, resp := client.UpdateRuleMetadataRequest(params)
4615//
4616//    err := req.Send()
4617//    if err == nil { // resp is now filled
4618//        fmt.Println(resp)
4619//    }
4620//
4621// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata
4622func (c *FraudDetector) UpdateRuleMetadataRequest(input *UpdateRuleMetadataInput) (req *request.Request, output *UpdateRuleMetadataOutput) {
4623	op := &request.Operation{
4624		Name:       opUpdateRuleMetadata,
4625		HTTPMethod: "POST",
4626		HTTPPath:   "/",
4627	}
4628
4629	if input == nil {
4630		input = &UpdateRuleMetadataInput{}
4631	}
4632
4633	output = &UpdateRuleMetadataOutput{}
4634	req = c.newRequest(op, input, output)
4635	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4636	return
4637}
4638
4639// UpdateRuleMetadata API operation for Amazon Fraud Detector.
4640//
4641// Updates a rule's metadata. The description attribute can be updated.
4642//
4643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4644// with awserr.Error's Code and Message methods to get detailed information about
4645// the error.
4646//
4647// See the AWS API reference guide for Amazon Fraud Detector's
4648// API operation UpdateRuleMetadata for usage and error information.
4649//
4650// Returned Error Types:
4651//   * ValidationException
4652//   An exception indicating a specified value is not allowed.
4653//
4654//   * ResourceNotFoundException
4655//   An exception indicating the specified resource was not found.
4656//
4657//   * InternalServerException
4658//   An exception indicating an internal server error.
4659//
4660//   * ThrottlingException
4661//   An exception indicating a throttling error.
4662//
4663//   * AccessDeniedException
4664//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4665//   This can occur if you submit a request, such as PutExternalModel, that specifies
4666//   a role that is not in your account.
4667//
4668// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata
4669func (c *FraudDetector) UpdateRuleMetadata(input *UpdateRuleMetadataInput) (*UpdateRuleMetadataOutput, error) {
4670	req, out := c.UpdateRuleMetadataRequest(input)
4671	return out, req.Send()
4672}
4673
4674// UpdateRuleMetadataWithContext is the same as UpdateRuleMetadata with the addition of
4675// the ability to pass a context and additional request options.
4676//
4677// See UpdateRuleMetadata for details on how to use this API operation.
4678//
4679// The context must be non-nil and will be used for request cancellation. If
4680// the context is nil a panic will occur. In the future the SDK may create
4681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4682// for more information on using Contexts.
4683func (c *FraudDetector) UpdateRuleMetadataWithContext(ctx aws.Context, input *UpdateRuleMetadataInput, opts ...request.Option) (*UpdateRuleMetadataOutput, error) {
4684	req, out := c.UpdateRuleMetadataRequest(input)
4685	req.SetContext(ctx)
4686	req.ApplyOptions(opts...)
4687	return out, req.Send()
4688}
4689
4690const opUpdateRuleVersion = "UpdateRuleVersion"
4691
4692// UpdateRuleVersionRequest generates a "aws/request.Request" representing the
4693// client's request for the UpdateRuleVersion operation. The "output" return
4694// value will be populated with the request's response once the request completes
4695// successfully.
4696//
4697// Use "Send" method on the returned Request to send the API call to the service.
4698// the "output" return value is not valid until after Send returns without error.
4699//
4700// See UpdateRuleVersion for more information on using the UpdateRuleVersion
4701// API call, and error handling.
4702//
4703// This method is useful when you want to inject custom logic or configuration
4704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4705//
4706//
4707//    // Example sending a request using the UpdateRuleVersionRequest method.
4708//    req, resp := client.UpdateRuleVersionRequest(params)
4709//
4710//    err := req.Send()
4711//    if err == nil { // resp is now filled
4712//        fmt.Println(resp)
4713//    }
4714//
4715// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion
4716func (c *FraudDetector) UpdateRuleVersionRequest(input *UpdateRuleVersionInput) (req *request.Request, output *UpdateRuleVersionOutput) {
4717	op := &request.Operation{
4718		Name:       opUpdateRuleVersion,
4719		HTTPMethod: "POST",
4720		HTTPPath:   "/",
4721	}
4722
4723	if input == nil {
4724		input = &UpdateRuleVersionInput{}
4725	}
4726
4727	output = &UpdateRuleVersionOutput{}
4728	req = c.newRequest(op, input, output)
4729	return
4730}
4731
4732// UpdateRuleVersion API operation for Amazon Fraud Detector.
4733//
4734// Updates a rule version resulting in a new rule version. Updates a rule version
4735// resulting in a new rule version (version 1, 2, 3 ...).
4736//
4737// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4738// with awserr.Error's Code and Message methods to get detailed information about
4739// the error.
4740//
4741// See the AWS API reference guide for Amazon Fraud Detector's
4742// API operation UpdateRuleVersion for usage and error information.
4743//
4744// Returned Error Types:
4745//   * ValidationException
4746//   An exception indicating a specified value is not allowed.
4747//
4748//   * ResourceNotFoundException
4749//   An exception indicating the specified resource was not found.
4750//
4751//   * InternalServerException
4752//   An exception indicating an internal server error.
4753//
4754//   * ThrottlingException
4755//   An exception indicating a throttling error.
4756//
4757//   * AccessDeniedException
4758//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4759//   This can occur if you submit a request, such as PutExternalModel, that specifies
4760//   a role that is not in your account.
4761//
4762// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion
4763func (c *FraudDetector) UpdateRuleVersion(input *UpdateRuleVersionInput) (*UpdateRuleVersionOutput, error) {
4764	req, out := c.UpdateRuleVersionRequest(input)
4765	return out, req.Send()
4766}
4767
4768// UpdateRuleVersionWithContext is the same as UpdateRuleVersion with the addition of
4769// the ability to pass a context and additional request options.
4770//
4771// See UpdateRuleVersion for details on how to use this API operation.
4772//
4773// The context must be non-nil and will be used for request cancellation. If
4774// the context is nil a panic will occur. In the future the SDK may create
4775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4776// for more information on using Contexts.
4777func (c *FraudDetector) UpdateRuleVersionWithContext(ctx aws.Context, input *UpdateRuleVersionInput, opts ...request.Option) (*UpdateRuleVersionOutput, error) {
4778	req, out := c.UpdateRuleVersionRequest(input)
4779	req.SetContext(ctx)
4780	req.ApplyOptions(opts...)
4781	return out, req.Send()
4782}
4783
4784const opUpdateVariable = "UpdateVariable"
4785
4786// UpdateVariableRequest generates a "aws/request.Request" representing the
4787// client's request for the UpdateVariable operation. The "output" return
4788// value will be populated with the request's response once the request completes
4789// successfully.
4790//
4791// Use "Send" method on the returned Request to send the API call to the service.
4792// the "output" return value is not valid until after Send returns without error.
4793//
4794// See UpdateVariable for more information on using the UpdateVariable
4795// API call, and error handling.
4796//
4797// This method is useful when you want to inject custom logic or configuration
4798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4799//
4800//
4801//    // Example sending a request using the UpdateVariableRequest method.
4802//    req, resp := client.UpdateVariableRequest(params)
4803//
4804//    err := req.Send()
4805//    if err == nil { // resp is now filled
4806//        fmt.Println(resp)
4807//    }
4808//
4809// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable
4810func (c *FraudDetector) UpdateVariableRequest(input *UpdateVariableInput) (req *request.Request, output *UpdateVariableOutput) {
4811	op := &request.Operation{
4812		Name:       opUpdateVariable,
4813		HTTPMethod: "POST",
4814		HTTPPath:   "/",
4815	}
4816
4817	if input == nil {
4818		input = &UpdateVariableInput{}
4819	}
4820
4821	output = &UpdateVariableOutput{}
4822	req = c.newRequest(op, input, output)
4823	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4824	return
4825}
4826
4827// UpdateVariable API operation for Amazon Fraud Detector.
4828//
4829// Updates a variable.
4830//
4831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4832// with awserr.Error's Code and Message methods to get detailed information about
4833// the error.
4834//
4835// See the AWS API reference guide for Amazon Fraud Detector's
4836// API operation UpdateVariable for usage and error information.
4837//
4838// Returned Error Types:
4839//   * ValidationException
4840//   An exception indicating a specified value is not allowed.
4841//
4842//   * ResourceNotFoundException
4843//   An exception indicating the specified resource was not found.
4844//
4845//   * InternalServerException
4846//   An exception indicating an internal server error.
4847//
4848//   * ThrottlingException
4849//   An exception indicating a throttling error.
4850//
4851//   * AccessDeniedException
4852//   An exception indicating Amazon Fraud Detector does not have the needed permissions.
4853//   This can occur if you submit a request, such as PutExternalModel, that specifies
4854//   a role that is not in your account.
4855//
4856// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable
4857func (c *FraudDetector) UpdateVariable(input *UpdateVariableInput) (*UpdateVariableOutput, error) {
4858	req, out := c.UpdateVariableRequest(input)
4859	return out, req.Send()
4860}
4861
4862// UpdateVariableWithContext is the same as UpdateVariable with the addition of
4863// the ability to pass a context and additional request options.
4864//
4865// See UpdateVariable for details on how to use this API operation.
4866//
4867// The context must be non-nil and will be used for request cancellation. If
4868// the context is nil a panic will occur. In the future the SDK may create
4869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4870// for more information on using Contexts.
4871func (c *FraudDetector) UpdateVariableWithContext(ctx aws.Context, input *UpdateVariableInput, opts ...request.Option) (*UpdateVariableOutput, error) {
4872	req, out := c.UpdateVariableRequest(input)
4873	req.SetContext(ctx)
4874	req.ApplyOptions(opts...)
4875	return out, req.Send()
4876}
4877
4878// An exception indicating Amazon Fraud Detector does not have the needed permissions.
4879// This can occur if you submit a request, such as PutExternalModel, that specifies
4880// a role that is not in your account.
4881type AccessDeniedException struct {
4882	_            struct{}                  `type:"structure"`
4883	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4884
4885	Message_ *string `locationName:"message" type:"string"`
4886}
4887
4888// String returns the string representation
4889func (s AccessDeniedException) String() string {
4890	return awsutil.Prettify(s)
4891}
4892
4893// GoString returns the string representation
4894func (s AccessDeniedException) GoString() string {
4895	return s.String()
4896}
4897
4898func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
4899	return &AccessDeniedException{
4900		RespMetadata: v,
4901	}
4902}
4903
4904// Code returns the exception type name.
4905func (s *AccessDeniedException) Code() string {
4906	return "AccessDeniedException"
4907}
4908
4909// Message returns the exception's message.
4910func (s *AccessDeniedException) Message() string {
4911	if s.Message_ != nil {
4912		return *s.Message_
4913	}
4914	return ""
4915}
4916
4917// OrigErr always returns nil, satisfies awserr.Error interface.
4918func (s *AccessDeniedException) OrigErr() error {
4919	return nil
4920}
4921
4922func (s *AccessDeniedException) Error() string {
4923	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4924}
4925
4926// Status code returns the HTTP status code for the request's response error.
4927func (s *AccessDeniedException) StatusCode() int {
4928	return s.RespMetadata.StatusCode
4929}
4930
4931// RequestID returns the service's response RequestID for request.
4932func (s *AccessDeniedException) RequestID() string {
4933	return s.RespMetadata.RequestID
4934}
4935
4936// Provides the error of the batch create variable API.
4937type BatchCreateVariableError struct {
4938	_ struct{} `type:"structure"`
4939
4940	// The error code.
4941	Code *int64 `locationName:"code" type:"integer"`
4942
4943	// The error message.
4944	Message *string `locationName:"message" type:"string"`
4945
4946	// The name.
4947	Name *string `locationName:"name" type:"string"`
4948}
4949
4950// String returns the string representation
4951func (s BatchCreateVariableError) String() string {
4952	return awsutil.Prettify(s)
4953}
4954
4955// GoString returns the string representation
4956func (s BatchCreateVariableError) GoString() string {
4957	return s.String()
4958}
4959
4960// SetCode sets the Code field's value.
4961func (s *BatchCreateVariableError) SetCode(v int64) *BatchCreateVariableError {
4962	s.Code = &v
4963	return s
4964}
4965
4966// SetMessage sets the Message field's value.
4967func (s *BatchCreateVariableError) SetMessage(v string) *BatchCreateVariableError {
4968	s.Message = &v
4969	return s
4970}
4971
4972// SetName sets the Name field's value.
4973func (s *BatchCreateVariableError) SetName(v string) *BatchCreateVariableError {
4974	s.Name = &v
4975	return s
4976}
4977
4978type BatchCreateVariableInput struct {
4979	_ struct{} `type:"structure"`
4980
4981	// A collection of key and value pairs.
4982	Tags []*Tag `locationName:"tags" type:"list"`
4983
4984	// The list of variables for the batch create variable request.
4985	//
4986	// VariableEntries is a required field
4987	VariableEntries []*VariableEntry `locationName:"variableEntries" min:"1" type:"list" required:"true"`
4988}
4989
4990// String returns the string representation
4991func (s BatchCreateVariableInput) String() string {
4992	return awsutil.Prettify(s)
4993}
4994
4995// GoString returns the string representation
4996func (s BatchCreateVariableInput) GoString() string {
4997	return s.String()
4998}
4999
5000// Validate inspects the fields of the type to determine if they are valid.
5001func (s *BatchCreateVariableInput) Validate() error {
5002	invalidParams := request.ErrInvalidParams{Context: "BatchCreateVariableInput"}
5003	if s.VariableEntries == nil {
5004		invalidParams.Add(request.NewErrParamRequired("VariableEntries"))
5005	}
5006	if s.VariableEntries != nil && len(s.VariableEntries) < 1 {
5007		invalidParams.Add(request.NewErrParamMinLen("VariableEntries", 1))
5008	}
5009	if s.Tags != nil {
5010		for i, v := range s.Tags {
5011			if v == nil {
5012				continue
5013			}
5014			if err := v.Validate(); err != nil {
5015				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5016			}
5017		}
5018	}
5019
5020	if invalidParams.Len() > 0 {
5021		return invalidParams
5022	}
5023	return nil
5024}
5025
5026// SetTags sets the Tags field's value.
5027func (s *BatchCreateVariableInput) SetTags(v []*Tag) *BatchCreateVariableInput {
5028	s.Tags = v
5029	return s
5030}
5031
5032// SetVariableEntries sets the VariableEntries field's value.
5033func (s *BatchCreateVariableInput) SetVariableEntries(v []*VariableEntry) *BatchCreateVariableInput {
5034	s.VariableEntries = v
5035	return s
5036}
5037
5038type BatchCreateVariableOutput struct {
5039	_ struct{} `type:"structure"`
5040
5041	// Provides the errors for the BatchCreateVariable request.
5042	Errors []*BatchCreateVariableError `locationName:"errors" type:"list"`
5043}
5044
5045// String returns the string representation
5046func (s BatchCreateVariableOutput) String() string {
5047	return awsutil.Prettify(s)
5048}
5049
5050// GoString returns the string representation
5051func (s BatchCreateVariableOutput) GoString() string {
5052	return s.String()
5053}
5054
5055// SetErrors sets the Errors field's value.
5056func (s *BatchCreateVariableOutput) SetErrors(v []*BatchCreateVariableError) *BatchCreateVariableOutput {
5057	s.Errors = v
5058	return s
5059}
5060
5061// Provides the error of the batch get variable API.
5062type BatchGetVariableError struct {
5063	_ struct{} `type:"structure"`
5064
5065	// The error code.
5066	Code *int64 `locationName:"code" type:"integer"`
5067
5068	// The error message.
5069	Message *string `locationName:"message" type:"string"`
5070
5071	// The error name.
5072	Name *string `locationName:"name" type:"string"`
5073}
5074
5075// String returns the string representation
5076func (s BatchGetVariableError) String() string {
5077	return awsutil.Prettify(s)
5078}
5079
5080// GoString returns the string representation
5081func (s BatchGetVariableError) GoString() string {
5082	return s.String()
5083}
5084
5085// SetCode sets the Code field's value.
5086func (s *BatchGetVariableError) SetCode(v int64) *BatchGetVariableError {
5087	s.Code = &v
5088	return s
5089}
5090
5091// SetMessage sets the Message field's value.
5092func (s *BatchGetVariableError) SetMessage(v string) *BatchGetVariableError {
5093	s.Message = &v
5094	return s
5095}
5096
5097// SetName sets the Name field's value.
5098func (s *BatchGetVariableError) SetName(v string) *BatchGetVariableError {
5099	s.Name = &v
5100	return s
5101}
5102
5103type BatchGetVariableInput struct {
5104	_ struct{} `type:"structure"`
5105
5106	// The list of variable names to get.
5107	//
5108	// Names is a required field
5109	Names []*string `locationName:"names" min:"1" type:"list" required:"true"`
5110}
5111
5112// String returns the string representation
5113func (s BatchGetVariableInput) String() string {
5114	return awsutil.Prettify(s)
5115}
5116
5117// GoString returns the string representation
5118func (s BatchGetVariableInput) GoString() string {
5119	return s.String()
5120}
5121
5122// Validate inspects the fields of the type to determine if they are valid.
5123func (s *BatchGetVariableInput) Validate() error {
5124	invalidParams := request.ErrInvalidParams{Context: "BatchGetVariableInput"}
5125	if s.Names == nil {
5126		invalidParams.Add(request.NewErrParamRequired("Names"))
5127	}
5128	if s.Names != nil && len(s.Names) < 1 {
5129		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
5130	}
5131
5132	if invalidParams.Len() > 0 {
5133		return invalidParams
5134	}
5135	return nil
5136}
5137
5138// SetNames sets the Names field's value.
5139func (s *BatchGetVariableInput) SetNames(v []*string) *BatchGetVariableInput {
5140	s.Names = v
5141	return s
5142}
5143
5144type BatchGetVariableOutput struct {
5145	_ struct{} `type:"structure"`
5146
5147	// The errors from the request.
5148	Errors []*BatchGetVariableError `locationName:"errors" type:"list"`
5149
5150	// The returned variables.
5151	Variables []*Variable `locationName:"variables" type:"list"`
5152}
5153
5154// String returns the string representation
5155func (s BatchGetVariableOutput) String() string {
5156	return awsutil.Prettify(s)
5157}
5158
5159// GoString returns the string representation
5160func (s BatchGetVariableOutput) GoString() string {
5161	return s.String()
5162}
5163
5164// SetErrors sets the Errors field's value.
5165func (s *BatchGetVariableOutput) SetErrors(v []*BatchGetVariableError) *BatchGetVariableOutput {
5166	s.Errors = v
5167	return s
5168}
5169
5170// SetVariables sets the Variables field's value.
5171func (s *BatchGetVariableOutput) SetVariables(v []*Variable) *BatchGetVariableOutput {
5172	s.Variables = v
5173	return s
5174}
5175
5176// An exception indicating there was a conflict during a delete operation. The
5177// following delete operations can cause a conflict exception:
5178//
5179//    * DeleteDetector: A conflict exception will occur if the detector has
5180//    associated Rules or DetectorVersions. You can only delete a detector if
5181//    it has no Rules or DetectorVersions.
5182//
5183//    * DeleteDetectorVersion: A conflict exception will occur if the DetectorVersion
5184//    status is ACTIVE.
5185//
5186//    * DeleteRule: A conflict exception will occur if the RuleVersion is in
5187//    use by an associated ACTIVE or INACTIVE DetectorVersion.
5188type ConflictException struct {
5189	_            struct{}                  `type:"structure"`
5190	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5191
5192	Message_ *string `locationName:"message" type:"string"`
5193}
5194
5195// String returns the string representation
5196func (s ConflictException) String() string {
5197	return awsutil.Prettify(s)
5198}
5199
5200// GoString returns the string representation
5201func (s ConflictException) GoString() string {
5202	return s.String()
5203}
5204
5205func newErrorConflictException(v protocol.ResponseMetadata) error {
5206	return &ConflictException{
5207		RespMetadata: v,
5208	}
5209}
5210
5211// Code returns the exception type name.
5212func (s *ConflictException) Code() string {
5213	return "ConflictException"
5214}
5215
5216// Message returns the exception's message.
5217func (s *ConflictException) Message() string {
5218	if s.Message_ != nil {
5219		return *s.Message_
5220	}
5221	return ""
5222}
5223
5224// OrigErr always returns nil, satisfies awserr.Error interface.
5225func (s *ConflictException) OrigErr() error {
5226	return nil
5227}
5228
5229func (s *ConflictException) Error() string {
5230	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5231}
5232
5233// Status code returns the HTTP status code for the request's response error.
5234func (s *ConflictException) StatusCode() int {
5235	return s.RespMetadata.StatusCode
5236}
5237
5238// RequestID returns the service's response RequestID for request.
5239func (s *ConflictException) RequestID() string {
5240	return s.RespMetadata.RequestID
5241}
5242
5243type CreateDetectorVersionInput struct {
5244	_ struct{} `type:"structure"`
5245
5246	// The description of the detector version.
5247	Description *string `locationName:"description" min:"1" type:"string"`
5248
5249	// The ID of the detector under which you want to create a new version.
5250	//
5251	// DetectorId is a required field
5252	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
5253
5254	// The Amazon Sagemaker model endpoints to include in the detector version.
5255	ExternalModelEndpoints []*string `locationName:"externalModelEndpoints" type:"list"`
5256
5257	// The model versions to include in the detector version.
5258	ModelVersions []*ModelVersion `locationName:"modelVersions" type:"list"`
5259
5260	// The rule execution mode for the rules included in the detector version.
5261	//
5262	// You can define and edit the rule mode at the detector version level, when
5263	// it is in draft status.
5264	//
5265	// If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially,
5266	// first to last, stopping at the first matched rule. Amazon Fraud dectector
5267	// then provides the outcomes for that single rule.
5268	//
5269	// If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and
5270	// returns the outcomes for all matched rules.
5271	//
5272	// The default behavior is FIRST_MATCHED.
5273	RuleExecutionMode *string `locationName:"ruleExecutionMode" type:"string" enum:"RuleExecutionMode"`
5274
5275	// The rules to include in the detector version.
5276	//
5277	// Rules is a required field
5278	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
5279
5280	// A collection of key and value pairs.
5281	Tags []*Tag `locationName:"tags" type:"list"`
5282}
5283
5284// String returns the string representation
5285func (s CreateDetectorVersionInput) String() string {
5286	return awsutil.Prettify(s)
5287}
5288
5289// GoString returns the string representation
5290func (s CreateDetectorVersionInput) GoString() string {
5291	return s.String()
5292}
5293
5294// Validate inspects the fields of the type to determine if they are valid.
5295func (s *CreateDetectorVersionInput) Validate() error {
5296	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorVersionInput"}
5297	if s.Description != nil && len(*s.Description) < 1 {
5298		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
5299	}
5300	if s.DetectorId == nil {
5301		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5302	}
5303	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5304		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5305	}
5306	if s.Rules == nil {
5307		invalidParams.Add(request.NewErrParamRequired("Rules"))
5308	}
5309	if s.ModelVersions != nil {
5310		for i, v := range s.ModelVersions {
5311			if v == nil {
5312				continue
5313			}
5314			if err := v.Validate(); err != nil {
5315				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ModelVersions", i), err.(request.ErrInvalidParams))
5316			}
5317		}
5318	}
5319	if s.Rules != nil {
5320		for i, v := range s.Rules {
5321			if v == nil {
5322				continue
5323			}
5324			if err := v.Validate(); err != nil {
5325				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
5326			}
5327		}
5328	}
5329	if s.Tags != nil {
5330		for i, v := range s.Tags {
5331			if v == nil {
5332				continue
5333			}
5334			if err := v.Validate(); err != nil {
5335				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5336			}
5337		}
5338	}
5339
5340	if invalidParams.Len() > 0 {
5341		return invalidParams
5342	}
5343	return nil
5344}
5345
5346// SetDescription sets the Description field's value.
5347func (s *CreateDetectorVersionInput) SetDescription(v string) *CreateDetectorVersionInput {
5348	s.Description = &v
5349	return s
5350}
5351
5352// SetDetectorId sets the DetectorId field's value.
5353func (s *CreateDetectorVersionInput) SetDetectorId(v string) *CreateDetectorVersionInput {
5354	s.DetectorId = &v
5355	return s
5356}
5357
5358// SetExternalModelEndpoints sets the ExternalModelEndpoints field's value.
5359func (s *CreateDetectorVersionInput) SetExternalModelEndpoints(v []*string) *CreateDetectorVersionInput {
5360	s.ExternalModelEndpoints = v
5361	return s
5362}
5363
5364// SetModelVersions sets the ModelVersions field's value.
5365func (s *CreateDetectorVersionInput) SetModelVersions(v []*ModelVersion) *CreateDetectorVersionInput {
5366	s.ModelVersions = v
5367	return s
5368}
5369
5370// SetRuleExecutionMode sets the RuleExecutionMode field's value.
5371func (s *CreateDetectorVersionInput) SetRuleExecutionMode(v string) *CreateDetectorVersionInput {
5372	s.RuleExecutionMode = &v
5373	return s
5374}
5375
5376// SetRules sets the Rules field's value.
5377func (s *CreateDetectorVersionInput) SetRules(v []*Rule) *CreateDetectorVersionInput {
5378	s.Rules = v
5379	return s
5380}
5381
5382// SetTags sets the Tags field's value.
5383func (s *CreateDetectorVersionInput) SetTags(v []*Tag) *CreateDetectorVersionInput {
5384	s.Tags = v
5385	return s
5386}
5387
5388type CreateDetectorVersionOutput struct {
5389	_ struct{} `type:"structure"`
5390
5391	// The ID for the created version's parent detector.
5392	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
5393
5394	// The ID for the created detector.
5395	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
5396
5397	// The status of the detector version.
5398	Status *string `locationName:"status" type:"string" enum:"DetectorVersionStatus"`
5399}
5400
5401// String returns the string representation
5402func (s CreateDetectorVersionOutput) String() string {
5403	return awsutil.Prettify(s)
5404}
5405
5406// GoString returns the string representation
5407func (s CreateDetectorVersionOutput) GoString() string {
5408	return s.String()
5409}
5410
5411// SetDetectorId sets the DetectorId field's value.
5412func (s *CreateDetectorVersionOutput) SetDetectorId(v string) *CreateDetectorVersionOutput {
5413	s.DetectorId = &v
5414	return s
5415}
5416
5417// SetDetectorVersionId sets the DetectorVersionId field's value.
5418func (s *CreateDetectorVersionOutput) SetDetectorVersionId(v string) *CreateDetectorVersionOutput {
5419	s.DetectorVersionId = &v
5420	return s
5421}
5422
5423// SetStatus sets the Status field's value.
5424func (s *CreateDetectorVersionOutput) SetStatus(v string) *CreateDetectorVersionOutput {
5425	s.Status = &v
5426	return s
5427}
5428
5429type CreateModelInput struct {
5430	_ struct{} `type:"structure"`
5431
5432	// The model description.
5433	Description *string `locationName:"description" min:"1" type:"string"`
5434
5435	// The name of the event type.
5436	//
5437	// EventTypeName is a required field
5438	EventTypeName *string `locationName:"eventTypeName" type:"string" required:"true"`
5439
5440	// The model ID.
5441	//
5442	// ModelId is a required field
5443	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
5444
5445	// The model type.
5446	//
5447	// ModelType is a required field
5448	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
5449
5450	// A collection of key and value pairs.
5451	Tags []*Tag `locationName:"tags" type:"list"`
5452}
5453
5454// String returns the string representation
5455func (s CreateModelInput) String() string {
5456	return awsutil.Prettify(s)
5457}
5458
5459// GoString returns the string representation
5460func (s CreateModelInput) GoString() string {
5461	return s.String()
5462}
5463
5464// Validate inspects the fields of the type to determine if they are valid.
5465func (s *CreateModelInput) Validate() error {
5466	invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"}
5467	if s.Description != nil && len(*s.Description) < 1 {
5468		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
5469	}
5470	if s.EventTypeName == nil {
5471		invalidParams.Add(request.NewErrParamRequired("EventTypeName"))
5472	}
5473	if s.ModelId == nil {
5474		invalidParams.Add(request.NewErrParamRequired("ModelId"))
5475	}
5476	if s.ModelId != nil && len(*s.ModelId) < 1 {
5477		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
5478	}
5479	if s.ModelType == nil {
5480		invalidParams.Add(request.NewErrParamRequired("ModelType"))
5481	}
5482	if s.Tags != nil {
5483		for i, v := range s.Tags {
5484			if v == nil {
5485				continue
5486			}
5487			if err := v.Validate(); err != nil {
5488				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5489			}
5490		}
5491	}
5492
5493	if invalidParams.Len() > 0 {
5494		return invalidParams
5495	}
5496	return nil
5497}
5498
5499// SetDescription sets the Description field's value.
5500func (s *CreateModelInput) SetDescription(v string) *CreateModelInput {
5501	s.Description = &v
5502	return s
5503}
5504
5505// SetEventTypeName sets the EventTypeName field's value.
5506func (s *CreateModelInput) SetEventTypeName(v string) *CreateModelInput {
5507	s.EventTypeName = &v
5508	return s
5509}
5510
5511// SetModelId sets the ModelId field's value.
5512func (s *CreateModelInput) SetModelId(v string) *CreateModelInput {
5513	s.ModelId = &v
5514	return s
5515}
5516
5517// SetModelType sets the ModelType field's value.
5518func (s *CreateModelInput) SetModelType(v string) *CreateModelInput {
5519	s.ModelType = &v
5520	return s
5521}
5522
5523// SetTags sets the Tags field's value.
5524func (s *CreateModelInput) SetTags(v []*Tag) *CreateModelInput {
5525	s.Tags = v
5526	return s
5527}
5528
5529type CreateModelOutput struct {
5530	_ struct{} `type:"structure"`
5531}
5532
5533// String returns the string representation
5534func (s CreateModelOutput) String() string {
5535	return awsutil.Prettify(s)
5536}
5537
5538// GoString returns the string representation
5539func (s CreateModelOutput) GoString() string {
5540	return s.String()
5541}
5542
5543type CreateModelVersionInput struct {
5544	_ struct{} `type:"structure"`
5545
5546	// Details for the external events data used for model version training. Required
5547	// if trainingDataSource is EXTERNAL_EVENTS.
5548	ExternalEventsDetail *ExternalEventsDetail `locationName:"externalEventsDetail" type:"structure"`
5549
5550	// The model ID.
5551	//
5552	// ModelId is a required field
5553	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
5554
5555	// The model type.
5556	//
5557	// ModelType is a required field
5558	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
5559
5560	// A collection of key and value pairs.
5561	Tags []*Tag `locationName:"tags" type:"list"`
5562
5563	// The training data schema.
5564	//
5565	// TrainingDataSchema is a required field
5566	TrainingDataSchema *TrainingDataSchema `locationName:"trainingDataSchema" type:"structure" required:"true"`
5567
5568	// The training data source location in Amazon S3.
5569	//
5570	// TrainingDataSource is a required field
5571	TrainingDataSource *string `locationName:"trainingDataSource" type:"string" required:"true" enum:"TrainingDataSourceEnum"`
5572}
5573
5574// String returns the string representation
5575func (s CreateModelVersionInput) String() string {
5576	return awsutil.Prettify(s)
5577}
5578
5579// GoString returns the string representation
5580func (s CreateModelVersionInput) GoString() string {
5581	return s.String()
5582}
5583
5584// Validate inspects the fields of the type to determine if they are valid.
5585func (s *CreateModelVersionInput) Validate() error {
5586	invalidParams := request.ErrInvalidParams{Context: "CreateModelVersionInput"}
5587	if s.ModelId == nil {
5588		invalidParams.Add(request.NewErrParamRequired("ModelId"))
5589	}
5590	if s.ModelId != nil && len(*s.ModelId) < 1 {
5591		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
5592	}
5593	if s.ModelType == nil {
5594		invalidParams.Add(request.NewErrParamRequired("ModelType"))
5595	}
5596	if s.TrainingDataSchema == nil {
5597		invalidParams.Add(request.NewErrParamRequired("TrainingDataSchema"))
5598	}
5599	if s.TrainingDataSource == nil {
5600		invalidParams.Add(request.NewErrParamRequired("TrainingDataSource"))
5601	}
5602	if s.ExternalEventsDetail != nil {
5603		if err := s.ExternalEventsDetail.Validate(); err != nil {
5604			invalidParams.AddNested("ExternalEventsDetail", err.(request.ErrInvalidParams))
5605		}
5606	}
5607	if s.Tags != nil {
5608		for i, v := range s.Tags {
5609			if v == nil {
5610				continue
5611			}
5612			if err := v.Validate(); err != nil {
5613				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5614			}
5615		}
5616	}
5617	if s.TrainingDataSchema != nil {
5618		if err := s.TrainingDataSchema.Validate(); err != nil {
5619			invalidParams.AddNested("TrainingDataSchema", err.(request.ErrInvalidParams))
5620		}
5621	}
5622
5623	if invalidParams.Len() > 0 {
5624		return invalidParams
5625	}
5626	return nil
5627}
5628
5629// SetExternalEventsDetail sets the ExternalEventsDetail field's value.
5630func (s *CreateModelVersionInput) SetExternalEventsDetail(v *ExternalEventsDetail) *CreateModelVersionInput {
5631	s.ExternalEventsDetail = v
5632	return s
5633}
5634
5635// SetModelId sets the ModelId field's value.
5636func (s *CreateModelVersionInput) SetModelId(v string) *CreateModelVersionInput {
5637	s.ModelId = &v
5638	return s
5639}
5640
5641// SetModelType sets the ModelType field's value.
5642func (s *CreateModelVersionInput) SetModelType(v string) *CreateModelVersionInput {
5643	s.ModelType = &v
5644	return s
5645}
5646
5647// SetTags sets the Tags field's value.
5648func (s *CreateModelVersionInput) SetTags(v []*Tag) *CreateModelVersionInput {
5649	s.Tags = v
5650	return s
5651}
5652
5653// SetTrainingDataSchema sets the TrainingDataSchema field's value.
5654func (s *CreateModelVersionInput) SetTrainingDataSchema(v *TrainingDataSchema) *CreateModelVersionInput {
5655	s.TrainingDataSchema = v
5656	return s
5657}
5658
5659// SetTrainingDataSource sets the TrainingDataSource field's value.
5660func (s *CreateModelVersionInput) SetTrainingDataSource(v string) *CreateModelVersionInput {
5661	s.TrainingDataSource = &v
5662	return s
5663}
5664
5665type CreateModelVersionOutput struct {
5666	_ struct{} `type:"structure"`
5667
5668	// The model ID.
5669	ModelId *string `locationName:"modelId" min:"1" type:"string"`
5670
5671	// The model type.
5672	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
5673
5674	// The model version number of the model version created.
5675	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string"`
5676
5677	// The model version status.
5678	Status *string `locationName:"status" type:"string"`
5679}
5680
5681// String returns the string representation
5682func (s CreateModelVersionOutput) String() string {
5683	return awsutil.Prettify(s)
5684}
5685
5686// GoString returns the string representation
5687func (s CreateModelVersionOutput) GoString() string {
5688	return s.String()
5689}
5690
5691// SetModelId sets the ModelId field's value.
5692func (s *CreateModelVersionOutput) SetModelId(v string) *CreateModelVersionOutput {
5693	s.ModelId = &v
5694	return s
5695}
5696
5697// SetModelType sets the ModelType field's value.
5698func (s *CreateModelVersionOutput) SetModelType(v string) *CreateModelVersionOutput {
5699	s.ModelType = &v
5700	return s
5701}
5702
5703// SetModelVersionNumber sets the ModelVersionNumber field's value.
5704func (s *CreateModelVersionOutput) SetModelVersionNumber(v string) *CreateModelVersionOutput {
5705	s.ModelVersionNumber = &v
5706	return s
5707}
5708
5709// SetStatus sets the Status field's value.
5710func (s *CreateModelVersionOutput) SetStatus(v string) *CreateModelVersionOutput {
5711	s.Status = &v
5712	return s
5713}
5714
5715type CreateRuleInput struct {
5716	_ struct{} `type:"structure"`
5717
5718	// The rule description.
5719	Description *string `locationName:"description" min:"1" type:"string"`
5720
5721	// The detector ID for the rule's parent detector.
5722	//
5723	// DetectorId is a required field
5724	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
5725
5726	// The rule expression.
5727	//
5728	// Expression is a required field
5729	Expression *string `locationName:"expression" min:"1" type:"string" required:"true" sensitive:"true"`
5730
5731	// The language of the rule.
5732	//
5733	// Language is a required field
5734	Language *string `locationName:"language" type:"string" required:"true" enum:"Language"`
5735
5736	// The outcome or outcomes returned when the rule expression matches.
5737	//
5738	// Outcomes is a required field
5739	Outcomes []*string `locationName:"outcomes" min:"1" type:"list" required:"true"`
5740
5741	// The rule ID.
5742	//
5743	// RuleId is a required field
5744	RuleId *string `locationName:"ruleId" min:"1" type:"string" required:"true"`
5745
5746	// A collection of key and value pairs.
5747	Tags []*Tag `locationName:"tags" type:"list"`
5748}
5749
5750// String returns the string representation
5751func (s CreateRuleInput) String() string {
5752	return awsutil.Prettify(s)
5753}
5754
5755// GoString returns the string representation
5756func (s CreateRuleInput) GoString() string {
5757	return s.String()
5758}
5759
5760// Validate inspects the fields of the type to determine if they are valid.
5761func (s *CreateRuleInput) Validate() error {
5762	invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"}
5763	if s.Description != nil && len(*s.Description) < 1 {
5764		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
5765	}
5766	if s.DetectorId == nil {
5767		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5768	}
5769	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5770		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5771	}
5772	if s.Expression == nil {
5773		invalidParams.Add(request.NewErrParamRequired("Expression"))
5774	}
5775	if s.Expression != nil && len(*s.Expression) < 1 {
5776		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
5777	}
5778	if s.Language == nil {
5779		invalidParams.Add(request.NewErrParamRequired("Language"))
5780	}
5781	if s.Outcomes == nil {
5782		invalidParams.Add(request.NewErrParamRequired("Outcomes"))
5783	}
5784	if s.Outcomes != nil && len(s.Outcomes) < 1 {
5785		invalidParams.Add(request.NewErrParamMinLen("Outcomes", 1))
5786	}
5787	if s.RuleId == nil {
5788		invalidParams.Add(request.NewErrParamRequired("RuleId"))
5789	}
5790	if s.RuleId != nil && len(*s.RuleId) < 1 {
5791		invalidParams.Add(request.NewErrParamMinLen("RuleId", 1))
5792	}
5793	if s.Tags != nil {
5794		for i, v := range s.Tags {
5795			if v == nil {
5796				continue
5797			}
5798			if err := v.Validate(); err != nil {
5799				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5800			}
5801		}
5802	}
5803
5804	if invalidParams.Len() > 0 {
5805		return invalidParams
5806	}
5807	return nil
5808}
5809
5810// SetDescription sets the Description field's value.
5811func (s *CreateRuleInput) SetDescription(v string) *CreateRuleInput {
5812	s.Description = &v
5813	return s
5814}
5815
5816// SetDetectorId sets the DetectorId field's value.
5817func (s *CreateRuleInput) SetDetectorId(v string) *CreateRuleInput {
5818	s.DetectorId = &v
5819	return s
5820}
5821
5822// SetExpression sets the Expression field's value.
5823func (s *CreateRuleInput) SetExpression(v string) *CreateRuleInput {
5824	s.Expression = &v
5825	return s
5826}
5827
5828// SetLanguage sets the Language field's value.
5829func (s *CreateRuleInput) SetLanguage(v string) *CreateRuleInput {
5830	s.Language = &v
5831	return s
5832}
5833
5834// SetOutcomes sets the Outcomes field's value.
5835func (s *CreateRuleInput) SetOutcomes(v []*string) *CreateRuleInput {
5836	s.Outcomes = v
5837	return s
5838}
5839
5840// SetRuleId sets the RuleId field's value.
5841func (s *CreateRuleInput) SetRuleId(v string) *CreateRuleInput {
5842	s.RuleId = &v
5843	return s
5844}
5845
5846// SetTags sets the Tags field's value.
5847func (s *CreateRuleInput) SetTags(v []*Tag) *CreateRuleInput {
5848	s.Tags = v
5849	return s
5850}
5851
5852type CreateRuleOutput struct {
5853	_ struct{} `type:"structure"`
5854
5855	// The created rule.
5856	Rule *Rule `locationName:"rule" type:"structure"`
5857}
5858
5859// String returns the string representation
5860func (s CreateRuleOutput) String() string {
5861	return awsutil.Prettify(s)
5862}
5863
5864// GoString returns the string representation
5865func (s CreateRuleOutput) GoString() string {
5866	return s.String()
5867}
5868
5869// SetRule sets the Rule field's value.
5870func (s *CreateRuleOutput) SetRule(v *Rule) *CreateRuleOutput {
5871	s.Rule = v
5872	return s
5873}
5874
5875type CreateVariableInput struct {
5876	_ struct{} `type:"structure"`
5877
5878	// The source of the data.
5879	//
5880	// DataSource is a required field
5881	DataSource *string `locationName:"dataSource" type:"string" required:"true" enum:"DataSource"`
5882
5883	// The data type.
5884	//
5885	// DataType is a required field
5886	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"DataType"`
5887
5888	// The default value for the variable when no value is received.
5889	//
5890	// DefaultValue is a required field
5891	DefaultValue *string `locationName:"defaultValue" type:"string" required:"true"`
5892
5893	// The description.
5894	Description *string `locationName:"description" type:"string"`
5895
5896	// The name of the variable.
5897	//
5898	// Name is a required field
5899	Name *string `locationName:"name" type:"string" required:"true"`
5900
5901	// A collection of key and value pairs.
5902	Tags []*Tag `locationName:"tags" type:"list"`
5903
5904	// The variable type. For more information see Variable types (https://docs.aws.amazon.com/frauddetector/latest/ug/create-a-variable.html#variable-types).
5905	//
5906	// Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 |
5907	// BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE
5908	// | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS |
5909	// FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID
5910	// | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1
5911	// | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME
5912	// | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT
5913	VariableType *string `locationName:"variableType" type:"string"`
5914}
5915
5916// String returns the string representation
5917func (s CreateVariableInput) String() string {
5918	return awsutil.Prettify(s)
5919}
5920
5921// GoString returns the string representation
5922func (s CreateVariableInput) GoString() string {
5923	return s.String()
5924}
5925
5926// Validate inspects the fields of the type to determine if they are valid.
5927func (s *CreateVariableInput) Validate() error {
5928	invalidParams := request.ErrInvalidParams{Context: "CreateVariableInput"}
5929	if s.DataSource == nil {
5930		invalidParams.Add(request.NewErrParamRequired("DataSource"))
5931	}
5932	if s.DataType == nil {
5933		invalidParams.Add(request.NewErrParamRequired("DataType"))
5934	}
5935	if s.DefaultValue == nil {
5936		invalidParams.Add(request.NewErrParamRequired("DefaultValue"))
5937	}
5938	if s.Name == nil {
5939		invalidParams.Add(request.NewErrParamRequired("Name"))
5940	}
5941	if s.Tags != nil {
5942		for i, v := range s.Tags {
5943			if v == nil {
5944				continue
5945			}
5946			if err := v.Validate(); err != nil {
5947				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5948			}
5949		}
5950	}
5951
5952	if invalidParams.Len() > 0 {
5953		return invalidParams
5954	}
5955	return nil
5956}
5957
5958// SetDataSource sets the DataSource field's value.
5959func (s *CreateVariableInput) SetDataSource(v string) *CreateVariableInput {
5960	s.DataSource = &v
5961	return s
5962}
5963
5964// SetDataType sets the DataType field's value.
5965func (s *CreateVariableInput) SetDataType(v string) *CreateVariableInput {
5966	s.DataType = &v
5967	return s
5968}
5969
5970// SetDefaultValue sets the DefaultValue field's value.
5971func (s *CreateVariableInput) SetDefaultValue(v string) *CreateVariableInput {
5972	s.DefaultValue = &v
5973	return s
5974}
5975
5976// SetDescription sets the Description field's value.
5977func (s *CreateVariableInput) SetDescription(v string) *CreateVariableInput {
5978	s.Description = &v
5979	return s
5980}
5981
5982// SetName sets the Name field's value.
5983func (s *CreateVariableInput) SetName(v string) *CreateVariableInput {
5984	s.Name = &v
5985	return s
5986}
5987
5988// SetTags sets the Tags field's value.
5989func (s *CreateVariableInput) SetTags(v []*Tag) *CreateVariableInput {
5990	s.Tags = v
5991	return s
5992}
5993
5994// SetVariableType sets the VariableType field's value.
5995func (s *CreateVariableInput) SetVariableType(v string) *CreateVariableInput {
5996	s.VariableType = &v
5997	return s
5998}
5999
6000type CreateVariableOutput struct {
6001	_ struct{} `type:"structure"`
6002}
6003
6004// String returns the string representation
6005func (s CreateVariableOutput) String() string {
6006	return awsutil.Prettify(s)
6007}
6008
6009// GoString returns the string representation
6010func (s CreateVariableOutput) GoString() string {
6011	return s.String()
6012}
6013
6014// The model training validation messages.
6015type DataValidationMetrics struct {
6016	_ struct{} `type:"structure"`
6017
6018	// The field-specific model training validation messages.
6019	FieldLevelMessages []*FieldValidationMessage `locationName:"fieldLevelMessages" type:"list"`
6020
6021	// The file-specific model training validation messages.
6022	FileLevelMessages []*FileValidationMessage `locationName:"fileLevelMessages" type:"list"`
6023}
6024
6025// String returns the string representation
6026func (s DataValidationMetrics) String() string {
6027	return awsutil.Prettify(s)
6028}
6029
6030// GoString returns the string representation
6031func (s DataValidationMetrics) GoString() string {
6032	return s.String()
6033}
6034
6035// SetFieldLevelMessages sets the FieldLevelMessages field's value.
6036func (s *DataValidationMetrics) SetFieldLevelMessages(v []*FieldValidationMessage) *DataValidationMetrics {
6037	s.FieldLevelMessages = v
6038	return s
6039}
6040
6041// SetFileLevelMessages sets the FileLevelMessages field's value.
6042func (s *DataValidationMetrics) SetFileLevelMessages(v []*FileValidationMessage) *DataValidationMetrics {
6043	s.FileLevelMessages = v
6044	return s
6045}
6046
6047type DeleteDetectorInput struct {
6048	_ struct{} `type:"structure"`
6049
6050	// The ID of the detector to delete.
6051	//
6052	// DetectorId is a required field
6053	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6054}
6055
6056// String returns the string representation
6057func (s DeleteDetectorInput) String() string {
6058	return awsutil.Prettify(s)
6059}
6060
6061// GoString returns the string representation
6062func (s DeleteDetectorInput) GoString() string {
6063	return s.String()
6064}
6065
6066// Validate inspects the fields of the type to determine if they are valid.
6067func (s *DeleteDetectorInput) Validate() error {
6068	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorInput"}
6069	if s.DetectorId == nil {
6070		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6071	}
6072	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6073		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6074	}
6075
6076	if invalidParams.Len() > 0 {
6077		return invalidParams
6078	}
6079	return nil
6080}
6081
6082// SetDetectorId sets the DetectorId field's value.
6083func (s *DeleteDetectorInput) SetDetectorId(v string) *DeleteDetectorInput {
6084	s.DetectorId = &v
6085	return s
6086}
6087
6088type DeleteDetectorOutput struct {
6089	_ struct{} `type:"structure"`
6090}
6091
6092// String returns the string representation
6093func (s DeleteDetectorOutput) String() string {
6094	return awsutil.Prettify(s)
6095}
6096
6097// GoString returns the string representation
6098func (s DeleteDetectorOutput) GoString() string {
6099	return s.String()
6100}
6101
6102type DeleteDetectorVersionInput struct {
6103	_ struct{} `type:"structure"`
6104
6105	// The ID of the parent detector for the detector version to delete.
6106	//
6107	// DetectorId is a required field
6108	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6109
6110	// The ID of the detector version to delete.
6111	//
6112	// DetectorVersionId is a required field
6113	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
6114}
6115
6116// String returns the string representation
6117func (s DeleteDetectorVersionInput) String() string {
6118	return awsutil.Prettify(s)
6119}
6120
6121// GoString returns the string representation
6122func (s DeleteDetectorVersionInput) GoString() string {
6123	return s.String()
6124}
6125
6126// Validate inspects the fields of the type to determine if they are valid.
6127func (s *DeleteDetectorVersionInput) Validate() error {
6128	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorVersionInput"}
6129	if s.DetectorId == nil {
6130		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6131	}
6132	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6133		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6134	}
6135	if s.DetectorVersionId == nil {
6136		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
6137	}
6138	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
6139		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
6140	}
6141
6142	if invalidParams.Len() > 0 {
6143		return invalidParams
6144	}
6145	return nil
6146}
6147
6148// SetDetectorId sets the DetectorId field's value.
6149func (s *DeleteDetectorVersionInput) SetDetectorId(v string) *DeleteDetectorVersionInput {
6150	s.DetectorId = &v
6151	return s
6152}
6153
6154// SetDetectorVersionId sets the DetectorVersionId field's value.
6155func (s *DeleteDetectorVersionInput) SetDetectorVersionId(v string) *DeleteDetectorVersionInput {
6156	s.DetectorVersionId = &v
6157	return s
6158}
6159
6160type DeleteDetectorVersionOutput struct {
6161	_ struct{} `type:"structure"`
6162}
6163
6164// String returns the string representation
6165func (s DeleteDetectorVersionOutput) String() string {
6166	return awsutil.Prettify(s)
6167}
6168
6169// GoString returns the string representation
6170func (s DeleteDetectorVersionOutput) GoString() string {
6171	return s.String()
6172}
6173
6174type DeleteEventInput struct {
6175	_ struct{} `type:"structure"`
6176
6177	// The ID of the event to delete.
6178	//
6179	// EventId is a required field
6180	EventId *string `locationName:"eventId" type:"string" required:"true"`
6181
6182	// The name of the event type.
6183	//
6184	// EventTypeName is a required field
6185	EventTypeName *string `locationName:"eventTypeName" type:"string" required:"true"`
6186}
6187
6188// String returns the string representation
6189func (s DeleteEventInput) String() string {
6190	return awsutil.Prettify(s)
6191}
6192
6193// GoString returns the string representation
6194func (s DeleteEventInput) GoString() string {
6195	return s.String()
6196}
6197
6198// Validate inspects the fields of the type to determine if they are valid.
6199func (s *DeleteEventInput) Validate() error {
6200	invalidParams := request.ErrInvalidParams{Context: "DeleteEventInput"}
6201	if s.EventId == nil {
6202		invalidParams.Add(request.NewErrParamRequired("EventId"))
6203	}
6204	if s.EventTypeName == nil {
6205		invalidParams.Add(request.NewErrParamRequired("EventTypeName"))
6206	}
6207
6208	if invalidParams.Len() > 0 {
6209		return invalidParams
6210	}
6211	return nil
6212}
6213
6214// SetEventId sets the EventId field's value.
6215func (s *DeleteEventInput) SetEventId(v string) *DeleteEventInput {
6216	s.EventId = &v
6217	return s
6218}
6219
6220// SetEventTypeName sets the EventTypeName field's value.
6221func (s *DeleteEventInput) SetEventTypeName(v string) *DeleteEventInput {
6222	s.EventTypeName = &v
6223	return s
6224}
6225
6226type DeleteEventOutput struct {
6227	_ struct{} `type:"structure"`
6228}
6229
6230// String returns the string representation
6231func (s DeleteEventOutput) String() string {
6232	return awsutil.Prettify(s)
6233}
6234
6235// GoString returns the string representation
6236func (s DeleteEventOutput) GoString() string {
6237	return s.String()
6238}
6239
6240type DeleteRuleInput struct {
6241	_ struct{} `type:"structure"`
6242
6243	// A rule.
6244	//
6245	// Rule is a required field
6246	Rule *Rule `locationName:"rule" type:"structure" required:"true"`
6247}
6248
6249// String returns the string representation
6250func (s DeleteRuleInput) String() string {
6251	return awsutil.Prettify(s)
6252}
6253
6254// GoString returns the string representation
6255func (s DeleteRuleInput) GoString() string {
6256	return s.String()
6257}
6258
6259// Validate inspects the fields of the type to determine if they are valid.
6260func (s *DeleteRuleInput) Validate() error {
6261	invalidParams := request.ErrInvalidParams{Context: "DeleteRuleInput"}
6262	if s.Rule == nil {
6263		invalidParams.Add(request.NewErrParamRequired("Rule"))
6264	}
6265	if s.Rule != nil {
6266		if err := s.Rule.Validate(); err != nil {
6267			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
6268		}
6269	}
6270
6271	if invalidParams.Len() > 0 {
6272		return invalidParams
6273	}
6274	return nil
6275}
6276
6277// SetRule sets the Rule field's value.
6278func (s *DeleteRuleInput) SetRule(v *Rule) *DeleteRuleInput {
6279	s.Rule = v
6280	return s
6281}
6282
6283type DeleteRuleOutput struct {
6284	_ struct{} `type:"structure"`
6285}
6286
6287// String returns the string representation
6288func (s DeleteRuleOutput) String() string {
6289	return awsutil.Prettify(s)
6290}
6291
6292// GoString returns the string representation
6293func (s DeleteRuleOutput) GoString() string {
6294	return s.String()
6295}
6296
6297type DescribeDetectorInput struct {
6298	_ struct{} `type:"structure"`
6299
6300	// The detector ID.
6301	//
6302	// DetectorId is a required field
6303	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6304
6305	// The maximum number of results to return for the request.
6306	MaxResults *int64 `locationName:"maxResults" min:"1000" type:"integer"`
6307
6308	// The next token from the previous response.
6309	NextToken *string `locationName:"nextToken" type:"string"`
6310}
6311
6312// String returns the string representation
6313func (s DescribeDetectorInput) String() string {
6314	return awsutil.Prettify(s)
6315}
6316
6317// GoString returns the string representation
6318func (s DescribeDetectorInput) GoString() string {
6319	return s.String()
6320}
6321
6322// Validate inspects the fields of the type to determine if they are valid.
6323func (s *DescribeDetectorInput) Validate() error {
6324	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorInput"}
6325	if s.DetectorId == nil {
6326		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6327	}
6328	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6329		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6330	}
6331	if s.MaxResults != nil && *s.MaxResults < 1000 {
6332		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1000))
6333	}
6334
6335	if invalidParams.Len() > 0 {
6336		return invalidParams
6337	}
6338	return nil
6339}
6340
6341// SetDetectorId sets the DetectorId field's value.
6342func (s *DescribeDetectorInput) SetDetectorId(v string) *DescribeDetectorInput {
6343	s.DetectorId = &v
6344	return s
6345}
6346
6347// SetMaxResults sets the MaxResults field's value.
6348func (s *DescribeDetectorInput) SetMaxResults(v int64) *DescribeDetectorInput {
6349	s.MaxResults = &v
6350	return s
6351}
6352
6353// SetNextToken sets the NextToken field's value.
6354func (s *DescribeDetectorInput) SetNextToken(v string) *DescribeDetectorInput {
6355	s.NextToken = &v
6356	return s
6357}
6358
6359type DescribeDetectorOutput struct {
6360	_ struct{} `type:"structure"`
6361
6362	// The detector ARN.
6363	Arn *string `locationName:"arn" min:"1" type:"string"`
6364
6365	// The detector ID.
6366	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
6367
6368	// The status and description for each detector version.
6369	DetectorVersionSummaries []*DetectorVersionSummary `locationName:"detectorVersionSummaries" type:"list"`
6370
6371	// The next token to be used for subsequent requests.
6372	NextToken *string `locationName:"nextToken" type:"string"`
6373}
6374
6375// String returns the string representation
6376func (s DescribeDetectorOutput) String() string {
6377	return awsutil.Prettify(s)
6378}
6379
6380// GoString returns the string representation
6381func (s DescribeDetectorOutput) GoString() string {
6382	return s.String()
6383}
6384
6385// SetArn sets the Arn field's value.
6386func (s *DescribeDetectorOutput) SetArn(v string) *DescribeDetectorOutput {
6387	s.Arn = &v
6388	return s
6389}
6390
6391// SetDetectorId sets the DetectorId field's value.
6392func (s *DescribeDetectorOutput) SetDetectorId(v string) *DescribeDetectorOutput {
6393	s.DetectorId = &v
6394	return s
6395}
6396
6397// SetDetectorVersionSummaries sets the DetectorVersionSummaries field's value.
6398func (s *DescribeDetectorOutput) SetDetectorVersionSummaries(v []*DetectorVersionSummary) *DescribeDetectorOutput {
6399	s.DetectorVersionSummaries = v
6400	return s
6401}
6402
6403// SetNextToken sets the NextToken field's value.
6404func (s *DescribeDetectorOutput) SetNextToken(v string) *DescribeDetectorOutput {
6405	s.NextToken = &v
6406	return s
6407}
6408
6409type DescribeModelVersionsInput struct {
6410	_ struct{} `type:"structure"`
6411
6412	// The maximum number of results to return.
6413	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6414
6415	// The model ID.
6416	ModelId *string `locationName:"modelId" min:"1" type:"string"`
6417
6418	// The model type.
6419	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
6420
6421	// The model version number.
6422	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"3" type:"string"`
6423
6424	// The next token from the previous results.
6425	NextToken *string `locationName:"nextToken" type:"string"`
6426}
6427
6428// String returns the string representation
6429func (s DescribeModelVersionsInput) String() string {
6430	return awsutil.Prettify(s)
6431}
6432
6433// GoString returns the string representation
6434func (s DescribeModelVersionsInput) GoString() string {
6435	return s.String()
6436}
6437
6438// Validate inspects the fields of the type to determine if they are valid.
6439func (s *DescribeModelVersionsInput) Validate() error {
6440	invalidParams := request.ErrInvalidParams{Context: "DescribeModelVersionsInput"}
6441	if s.MaxResults != nil && *s.MaxResults < 1 {
6442		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6443	}
6444	if s.ModelId != nil && len(*s.ModelId) < 1 {
6445		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
6446	}
6447	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 3 {
6448		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 3))
6449	}
6450
6451	if invalidParams.Len() > 0 {
6452		return invalidParams
6453	}
6454	return nil
6455}
6456
6457// SetMaxResults sets the MaxResults field's value.
6458func (s *DescribeModelVersionsInput) SetMaxResults(v int64) *DescribeModelVersionsInput {
6459	s.MaxResults = &v
6460	return s
6461}
6462
6463// SetModelId sets the ModelId field's value.
6464func (s *DescribeModelVersionsInput) SetModelId(v string) *DescribeModelVersionsInput {
6465	s.ModelId = &v
6466	return s
6467}
6468
6469// SetModelType sets the ModelType field's value.
6470func (s *DescribeModelVersionsInput) SetModelType(v string) *DescribeModelVersionsInput {
6471	s.ModelType = &v
6472	return s
6473}
6474
6475// SetModelVersionNumber sets the ModelVersionNumber field's value.
6476func (s *DescribeModelVersionsInput) SetModelVersionNumber(v string) *DescribeModelVersionsInput {
6477	s.ModelVersionNumber = &v
6478	return s
6479}
6480
6481// SetNextToken sets the NextToken field's value.
6482func (s *DescribeModelVersionsInput) SetNextToken(v string) *DescribeModelVersionsInput {
6483	s.NextToken = &v
6484	return s
6485}
6486
6487type DescribeModelVersionsOutput struct {
6488	_ struct{} `type:"structure"`
6489
6490	// The model version details.
6491	ModelVersionDetails []*ModelVersionDetail `locationName:"modelVersionDetails" type:"list"`
6492
6493	// The next token.
6494	NextToken *string `locationName:"nextToken" type:"string"`
6495}
6496
6497// String returns the string representation
6498func (s DescribeModelVersionsOutput) String() string {
6499	return awsutil.Prettify(s)
6500}
6501
6502// GoString returns the string representation
6503func (s DescribeModelVersionsOutput) GoString() string {
6504	return s.String()
6505}
6506
6507// SetModelVersionDetails sets the ModelVersionDetails field's value.
6508func (s *DescribeModelVersionsOutput) SetModelVersionDetails(v []*ModelVersionDetail) *DescribeModelVersionsOutput {
6509	s.ModelVersionDetails = v
6510	return s
6511}
6512
6513// SetNextToken sets the NextToken field's value.
6514func (s *DescribeModelVersionsOutput) SetNextToken(v string) *DescribeModelVersionsOutput {
6515	s.NextToken = &v
6516	return s
6517}
6518
6519// The detector.
6520type Detector struct {
6521	_ struct{} `type:"structure"`
6522
6523	// The detector ARN.
6524	Arn *string `locationName:"arn" min:"1" type:"string"`
6525
6526	// Timestamp of when the detector was created.
6527	CreatedTime *string `locationName:"createdTime" type:"string"`
6528
6529	// The detector description.
6530	Description *string `locationName:"description" min:"1" type:"string"`
6531
6532	// The detector ID.
6533	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
6534
6535	// The name of the event type.
6536	EventTypeName *string `locationName:"eventTypeName" min:"1" type:"string"`
6537
6538	// Timestamp of when the detector was last updated.
6539	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
6540}
6541
6542// String returns the string representation
6543func (s Detector) String() string {
6544	return awsutil.Prettify(s)
6545}
6546
6547// GoString returns the string representation
6548func (s Detector) GoString() string {
6549	return s.String()
6550}
6551
6552// SetArn sets the Arn field's value.
6553func (s *Detector) SetArn(v string) *Detector {
6554	s.Arn = &v
6555	return s
6556}
6557
6558// SetCreatedTime sets the CreatedTime field's value.
6559func (s *Detector) SetCreatedTime(v string) *Detector {
6560	s.CreatedTime = &v
6561	return s
6562}
6563
6564// SetDescription sets the Description field's value.
6565func (s *Detector) SetDescription(v string) *Detector {
6566	s.Description = &v
6567	return s
6568}
6569
6570// SetDetectorId sets the DetectorId field's value.
6571func (s *Detector) SetDetectorId(v string) *Detector {
6572	s.DetectorId = &v
6573	return s
6574}
6575
6576// SetEventTypeName sets the EventTypeName field's value.
6577func (s *Detector) SetEventTypeName(v string) *Detector {
6578	s.EventTypeName = &v
6579	return s
6580}
6581
6582// SetLastUpdatedTime sets the LastUpdatedTime field's value.
6583func (s *Detector) SetLastUpdatedTime(v string) *Detector {
6584	s.LastUpdatedTime = &v
6585	return s
6586}
6587
6588// The summary of the detector version.
6589type DetectorVersionSummary struct {
6590	_ struct{} `type:"structure"`
6591
6592	// The detector version description.
6593	Description *string `locationName:"description" min:"1" type:"string"`
6594
6595	// The detector version ID.
6596	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
6597
6598	// Timestamp of when the detector version was last updated.
6599	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
6600
6601	// The detector version status.
6602	Status *string `locationName:"status" type:"string" enum:"DetectorVersionStatus"`
6603}
6604
6605// String returns the string representation
6606func (s DetectorVersionSummary) String() string {
6607	return awsutil.Prettify(s)
6608}
6609
6610// GoString returns the string representation
6611func (s DetectorVersionSummary) GoString() string {
6612	return s.String()
6613}
6614
6615// SetDescription sets the Description field's value.
6616func (s *DetectorVersionSummary) SetDescription(v string) *DetectorVersionSummary {
6617	s.Description = &v
6618	return s
6619}
6620
6621// SetDetectorVersionId sets the DetectorVersionId field's value.
6622func (s *DetectorVersionSummary) SetDetectorVersionId(v string) *DetectorVersionSummary {
6623	s.DetectorVersionId = &v
6624	return s
6625}
6626
6627// SetLastUpdatedTime sets the LastUpdatedTime field's value.
6628func (s *DetectorVersionSummary) SetLastUpdatedTime(v string) *DetectorVersionSummary {
6629	s.LastUpdatedTime = &v
6630	return s
6631}
6632
6633// SetStatus sets the Status field's value.
6634func (s *DetectorVersionSummary) SetStatus(v string) *DetectorVersionSummary {
6635	s.Status = &v
6636	return s
6637}
6638
6639// The entity details.
6640type Entity struct {
6641	_ struct{} `type:"structure"`
6642
6643	// The entity ID. If you do not know the entityId, you can pass unknown, which
6644	// is areserved string literal.
6645	//
6646	// EntityId is a required field
6647	EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"`
6648
6649	// The entity type.
6650	//
6651	// EntityType is a required field
6652	EntityType *string `locationName:"entityType" type:"string" required:"true"`
6653}
6654
6655// String returns the string representation
6656func (s Entity) String() string {
6657	return awsutil.Prettify(s)
6658}
6659
6660// GoString returns the string representation
6661func (s Entity) GoString() string {
6662	return s.String()
6663}
6664
6665// Validate inspects the fields of the type to determine if they are valid.
6666func (s *Entity) Validate() error {
6667	invalidParams := request.ErrInvalidParams{Context: "Entity"}
6668	if s.EntityId == nil {
6669		invalidParams.Add(request.NewErrParamRequired("EntityId"))
6670	}
6671	if s.EntityId != nil && len(*s.EntityId) < 1 {
6672		invalidParams.Add(request.NewErrParamMinLen("EntityId", 1))
6673	}
6674	if s.EntityType == nil {
6675		invalidParams.Add(request.NewErrParamRequired("EntityType"))
6676	}
6677
6678	if invalidParams.Len() > 0 {
6679		return invalidParams
6680	}
6681	return nil
6682}
6683
6684// SetEntityId sets the EntityId field's value.
6685func (s *Entity) SetEntityId(v string) *Entity {
6686	s.EntityId = &v
6687	return s
6688}
6689
6690// SetEntityType sets the EntityType field's value.
6691func (s *Entity) SetEntityType(v string) *Entity {
6692	s.EntityType = &v
6693	return s
6694}
6695
6696// The entity type details.
6697type EntityType struct {
6698	_ struct{} `type:"structure"`
6699
6700	// The entity type ARN.
6701	Arn *string `locationName:"arn" min:"1" type:"string"`
6702
6703	// Timestamp of when the entity type was created.
6704	CreatedTime *string `locationName:"createdTime" type:"string"`
6705
6706	// The entity type description.
6707	Description *string `locationName:"description" min:"1" type:"string"`
6708
6709	// Timestamp of when the entity type was last updated.
6710	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
6711
6712	// The entity type name.
6713	Name *string `locationName:"name" type:"string"`
6714}
6715
6716// String returns the string representation
6717func (s EntityType) String() string {
6718	return awsutil.Prettify(s)
6719}
6720
6721// GoString returns the string representation
6722func (s EntityType) GoString() string {
6723	return s.String()
6724}
6725
6726// SetArn sets the Arn field's value.
6727func (s *EntityType) SetArn(v string) *EntityType {
6728	s.Arn = &v
6729	return s
6730}
6731
6732// SetCreatedTime sets the CreatedTime field's value.
6733func (s *EntityType) SetCreatedTime(v string) *EntityType {
6734	s.CreatedTime = &v
6735	return s
6736}
6737
6738// SetDescription sets the Description field's value.
6739func (s *EntityType) SetDescription(v string) *EntityType {
6740	s.Description = &v
6741	return s
6742}
6743
6744// SetLastUpdatedTime sets the LastUpdatedTime field's value.
6745func (s *EntityType) SetLastUpdatedTime(v string) *EntityType {
6746	s.LastUpdatedTime = &v
6747	return s
6748}
6749
6750// SetName sets the Name field's value.
6751func (s *EntityType) SetName(v string) *EntityType {
6752	s.Name = &v
6753	return s
6754}
6755
6756// The event type details.
6757type EventType struct {
6758	_ struct{} `type:"structure"`
6759
6760	// The entity type ARN.
6761	Arn *string `locationName:"arn" min:"1" type:"string"`
6762
6763	// Timestamp of when the event type was created.
6764	CreatedTime *string `locationName:"createdTime" type:"string"`
6765
6766	// The event type description.
6767	Description *string `locationName:"description" min:"1" type:"string"`
6768
6769	// The event type entity types.
6770	EntityTypes []*string `locationName:"entityTypes" min:"1" type:"list"`
6771
6772	// The event type event variables.
6773	EventVariables []*string `locationName:"eventVariables" type:"list"`
6774
6775	// The event type labels.
6776	Labels []*string `locationName:"labels" type:"list"`
6777
6778	// Timestamp of when the event type was last updated.
6779	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
6780
6781	// The event type name.
6782	Name *string `locationName:"name" type:"string"`
6783}
6784
6785// String returns the string representation
6786func (s EventType) String() string {
6787	return awsutil.Prettify(s)
6788}
6789
6790// GoString returns the string representation
6791func (s EventType) GoString() string {
6792	return s.String()
6793}
6794
6795// SetArn sets the Arn field's value.
6796func (s *EventType) SetArn(v string) *EventType {
6797	s.Arn = &v
6798	return s
6799}
6800
6801// SetCreatedTime sets the CreatedTime field's value.
6802func (s *EventType) SetCreatedTime(v string) *EventType {
6803	s.CreatedTime = &v
6804	return s
6805}
6806
6807// SetDescription sets the Description field's value.
6808func (s *EventType) SetDescription(v string) *EventType {
6809	s.Description = &v
6810	return s
6811}
6812
6813// SetEntityTypes sets the EntityTypes field's value.
6814func (s *EventType) SetEntityTypes(v []*string) *EventType {
6815	s.EntityTypes = v
6816	return s
6817}
6818
6819// SetEventVariables sets the EventVariables field's value.
6820func (s *EventType) SetEventVariables(v []*string) *EventType {
6821	s.EventVariables = v
6822	return s
6823}
6824
6825// SetLabels sets the Labels field's value.
6826func (s *EventType) SetLabels(v []*string) *EventType {
6827	s.Labels = v
6828	return s
6829}
6830
6831// SetLastUpdatedTime sets the LastUpdatedTime field's value.
6832func (s *EventType) SetLastUpdatedTime(v string) *EventType {
6833	s.LastUpdatedTime = &v
6834	return s
6835}
6836
6837// SetName sets the Name field's value.
6838func (s *EventType) SetName(v string) *EventType {
6839	s.Name = &v
6840	return s
6841}
6842
6843// Details for the external events data used for model version training.
6844type ExternalEventsDetail struct {
6845	_ struct{} `type:"structure"`
6846
6847	// The ARN of the role that provides Amazon Fraud Detector access to the data
6848	// location.
6849	//
6850	// DataAccessRoleArn is a required field
6851	DataAccessRoleArn *string `locationName:"dataAccessRoleArn" min:"1" type:"string" required:"true"`
6852
6853	// The Amazon S3 bucket location for the data.
6854	//
6855	// DataLocation is a required field
6856	DataLocation *string `locationName:"dataLocation" min:"1" type:"string" required:"true"`
6857}
6858
6859// String returns the string representation
6860func (s ExternalEventsDetail) String() string {
6861	return awsutil.Prettify(s)
6862}
6863
6864// GoString returns the string representation
6865func (s ExternalEventsDetail) GoString() string {
6866	return s.String()
6867}
6868
6869// Validate inspects the fields of the type to determine if they are valid.
6870func (s *ExternalEventsDetail) Validate() error {
6871	invalidParams := request.ErrInvalidParams{Context: "ExternalEventsDetail"}
6872	if s.DataAccessRoleArn == nil {
6873		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
6874	}
6875	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 1 {
6876		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 1))
6877	}
6878	if s.DataLocation == nil {
6879		invalidParams.Add(request.NewErrParamRequired("DataLocation"))
6880	}
6881	if s.DataLocation != nil && len(*s.DataLocation) < 1 {
6882		invalidParams.Add(request.NewErrParamMinLen("DataLocation", 1))
6883	}
6884
6885	if invalidParams.Len() > 0 {
6886		return invalidParams
6887	}
6888	return nil
6889}
6890
6891// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
6892func (s *ExternalEventsDetail) SetDataAccessRoleArn(v string) *ExternalEventsDetail {
6893	s.DataAccessRoleArn = &v
6894	return s
6895}
6896
6897// SetDataLocation sets the DataLocation field's value.
6898func (s *ExternalEventsDetail) SetDataLocation(v string) *ExternalEventsDetail {
6899	s.DataLocation = &v
6900	return s
6901}
6902
6903// The Amazon SageMaker model.
6904type ExternalModel struct {
6905	_ struct{} `type:"structure"`
6906
6907	// The model ARN.
6908	Arn *string `locationName:"arn" min:"1" type:"string"`
6909
6910	// Timestamp of when the model was last created.
6911	CreatedTime *string `locationName:"createdTime" type:"string"`
6912
6913	// The input configuration.
6914	InputConfiguration *ModelInputConfiguration `locationName:"inputConfiguration" type:"structure"`
6915
6916	// The role used to invoke the model.
6917	InvokeModelEndpointRoleArn *string `locationName:"invokeModelEndpointRoleArn" type:"string"`
6918
6919	// Timestamp of when the model was last updated.
6920	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
6921
6922	// The Amazon SageMaker model endpoints.
6923	ModelEndpoint *string `locationName:"modelEndpoint" type:"string"`
6924
6925	// The Amazon Fraud Detector status for the external model endpoint
6926	ModelEndpointStatus *string `locationName:"modelEndpointStatus" type:"string" enum:"ModelEndpointStatus"`
6927
6928	// The source of the model.
6929	ModelSource *string `locationName:"modelSource" type:"string" enum:"ModelSource"`
6930
6931	// The output configuration.
6932	OutputConfiguration *ModelOutputConfiguration `locationName:"outputConfiguration" type:"structure"`
6933}
6934
6935// String returns the string representation
6936func (s ExternalModel) String() string {
6937	return awsutil.Prettify(s)
6938}
6939
6940// GoString returns the string representation
6941func (s ExternalModel) GoString() string {
6942	return s.String()
6943}
6944
6945// SetArn sets the Arn field's value.
6946func (s *ExternalModel) SetArn(v string) *ExternalModel {
6947	s.Arn = &v
6948	return s
6949}
6950
6951// SetCreatedTime sets the CreatedTime field's value.
6952func (s *ExternalModel) SetCreatedTime(v string) *ExternalModel {
6953	s.CreatedTime = &v
6954	return s
6955}
6956
6957// SetInputConfiguration sets the InputConfiguration field's value.
6958func (s *ExternalModel) SetInputConfiguration(v *ModelInputConfiguration) *ExternalModel {
6959	s.InputConfiguration = v
6960	return s
6961}
6962
6963// SetInvokeModelEndpointRoleArn sets the InvokeModelEndpointRoleArn field's value.
6964func (s *ExternalModel) SetInvokeModelEndpointRoleArn(v string) *ExternalModel {
6965	s.InvokeModelEndpointRoleArn = &v
6966	return s
6967}
6968
6969// SetLastUpdatedTime sets the LastUpdatedTime field's value.
6970func (s *ExternalModel) SetLastUpdatedTime(v string) *ExternalModel {
6971	s.LastUpdatedTime = &v
6972	return s
6973}
6974
6975// SetModelEndpoint sets the ModelEndpoint field's value.
6976func (s *ExternalModel) SetModelEndpoint(v string) *ExternalModel {
6977	s.ModelEndpoint = &v
6978	return s
6979}
6980
6981// SetModelEndpointStatus sets the ModelEndpointStatus field's value.
6982func (s *ExternalModel) SetModelEndpointStatus(v string) *ExternalModel {
6983	s.ModelEndpointStatus = &v
6984	return s
6985}
6986
6987// SetModelSource sets the ModelSource field's value.
6988func (s *ExternalModel) SetModelSource(v string) *ExternalModel {
6989	s.ModelSource = &v
6990	return s
6991}
6992
6993// SetOutputConfiguration sets the OutputConfiguration field's value.
6994func (s *ExternalModel) SetOutputConfiguration(v *ModelOutputConfiguration) *ExternalModel {
6995	s.OutputConfiguration = v
6996	return s
6997}
6998
6999// The message details.
7000type FieldValidationMessage struct {
7001	_ struct{} `type:"structure"`
7002
7003	// The message content.
7004	Content *string `locationName:"content" type:"string"`
7005
7006	// The field name.
7007	FieldName *string `locationName:"fieldName" type:"string"`
7008
7009	// The message ID.
7010	Identifier *string `locationName:"identifier" type:"string"`
7011
7012	// The message title.
7013	Title *string `locationName:"title" type:"string"`
7014
7015	// The message type.
7016	Type *string `locationName:"type" type:"string"`
7017}
7018
7019// String returns the string representation
7020func (s FieldValidationMessage) String() string {
7021	return awsutil.Prettify(s)
7022}
7023
7024// GoString returns the string representation
7025func (s FieldValidationMessage) GoString() string {
7026	return s.String()
7027}
7028
7029// SetContent sets the Content field's value.
7030func (s *FieldValidationMessage) SetContent(v string) *FieldValidationMessage {
7031	s.Content = &v
7032	return s
7033}
7034
7035// SetFieldName sets the FieldName field's value.
7036func (s *FieldValidationMessage) SetFieldName(v string) *FieldValidationMessage {
7037	s.FieldName = &v
7038	return s
7039}
7040
7041// SetIdentifier sets the Identifier field's value.
7042func (s *FieldValidationMessage) SetIdentifier(v string) *FieldValidationMessage {
7043	s.Identifier = &v
7044	return s
7045}
7046
7047// SetTitle sets the Title field's value.
7048func (s *FieldValidationMessage) SetTitle(v string) *FieldValidationMessage {
7049	s.Title = &v
7050	return s
7051}
7052
7053// SetType sets the Type field's value.
7054func (s *FieldValidationMessage) SetType(v string) *FieldValidationMessage {
7055	s.Type = &v
7056	return s
7057}
7058
7059// The message details.
7060type FileValidationMessage struct {
7061	_ struct{} `type:"structure"`
7062
7063	// The message content.
7064	Content *string `locationName:"content" type:"string"`
7065
7066	// The message title.
7067	Title *string `locationName:"title" type:"string"`
7068
7069	// The message type.
7070	Type *string `locationName:"type" type:"string"`
7071}
7072
7073// String returns the string representation
7074func (s FileValidationMessage) String() string {
7075	return awsutil.Prettify(s)
7076}
7077
7078// GoString returns the string representation
7079func (s FileValidationMessage) GoString() string {
7080	return s.String()
7081}
7082
7083// SetContent sets the Content field's value.
7084func (s *FileValidationMessage) SetContent(v string) *FileValidationMessage {
7085	s.Content = &v
7086	return s
7087}
7088
7089// SetTitle sets the Title field's value.
7090func (s *FileValidationMessage) SetTitle(v string) *FileValidationMessage {
7091	s.Title = &v
7092	return s
7093}
7094
7095// SetType sets the Type field's value.
7096func (s *FileValidationMessage) SetType(v string) *FileValidationMessage {
7097	s.Type = &v
7098	return s
7099}
7100
7101type GetDetectorVersionInput struct {
7102	_ struct{} `type:"structure"`
7103
7104	// The detector ID.
7105	//
7106	// DetectorId is a required field
7107	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
7108
7109	// The detector version ID.
7110	//
7111	// DetectorVersionId is a required field
7112	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
7113}
7114
7115// String returns the string representation
7116func (s GetDetectorVersionInput) String() string {
7117	return awsutil.Prettify(s)
7118}
7119
7120// GoString returns the string representation
7121func (s GetDetectorVersionInput) GoString() string {
7122	return s.String()
7123}
7124
7125// Validate inspects the fields of the type to determine if they are valid.
7126func (s *GetDetectorVersionInput) Validate() error {
7127	invalidParams := request.ErrInvalidParams{Context: "GetDetectorVersionInput"}
7128	if s.DetectorId == nil {
7129		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7130	}
7131	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7132		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7133	}
7134	if s.DetectorVersionId == nil {
7135		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
7136	}
7137	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
7138		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
7139	}
7140
7141	if invalidParams.Len() > 0 {
7142		return invalidParams
7143	}
7144	return nil
7145}
7146
7147// SetDetectorId sets the DetectorId field's value.
7148func (s *GetDetectorVersionInput) SetDetectorId(v string) *GetDetectorVersionInput {
7149	s.DetectorId = &v
7150	return s
7151}
7152
7153// SetDetectorVersionId sets the DetectorVersionId field's value.
7154func (s *GetDetectorVersionInput) SetDetectorVersionId(v string) *GetDetectorVersionInput {
7155	s.DetectorVersionId = &v
7156	return s
7157}
7158
7159type GetDetectorVersionOutput struct {
7160	_ struct{} `type:"structure"`
7161
7162	// The detector version ARN.
7163	Arn *string `locationName:"arn" min:"1" type:"string"`
7164
7165	// The timestamp when the detector version was created.
7166	CreatedTime *string `locationName:"createdTime" type:"string"`
7167
7168	// The detector version description.
7169	Description *string `locationName:"description" min:"1" type:"string"`
7170
7171	// The detector ID.
7172	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
7173
7174	// The detector version ID.
7175	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
7176
7177	// The Amazon SageMaker model endpoints included in the detector version.
7178	ExternalModelEndpoints []*string `locationName:"externalModelEndpoints" type:"list"`
7179
7180	// The timestamp when the detector version was last updated.
7181	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
7182
7183	// The model versions included in the detector version.
7184	ModelVersions []*ModelVersion `locationName:"modelVersions" type:"list"`
7185
7186	// The execution mode of the rule in the dectector
7187	//
7188	// FIRST_MATCHED indicates that Amazon Fraud Detector evaluates rules sequentially,
7189	// first to last, stopping at the first matched rule. Amazon Fraud dectector
7190	// then provides the outcomes for that single rule.
7191	//
7192	// ALL_MATCHED indicates that Amazon Fraud Detector evaluates all rules and
7193	// returns the outcomes for all matched rules. You can define and edit the rule
7194	// mode at the detector version level, when it is in draft status.
7195	RuleExecutionMode *string `locationName:"ruleExecutionMode" type:"string" enum:"RuleExecutionMode"`
7196
7197	// The rules included in the detector version.
7198	Rules []*Rule `locationName:"rules" type:"list"`
7199
7200	// The status of the detector version.
7201	Status *string `locationName:"status" type:"string" enum:"DetectorVersionStatus"`
7202}
7203
7204// String returns the string representation
7205func (s GetDetectorVersionOutput) String() string {
7206	return awsutil.Prettify(s)
7207}
7208
7209// GoString returns the string representation
7210func (s GetDetectorVersionOutput) GoString() string {
7211	return s.String()
7212}
7213
7214// SetArn sets the Arn field's value.
7215func (s *GetDetectorVersionOutput) SetArn(v string) *GetDetectorVersionOutput {
7216	s.Arn = &v
7217	return s
7218}
7219
7220// SetCreatedTime sets the CreatedTime field's value.
7221func (s *GetDetectorVersionOutput) SetCreatedTime(v string) *GetDetectorVersionOutput {
7222	s.CreatedTime = &v
7223	return s
7224}
7225
7226// SetDescription sets the Description field's value.
7227func (s *GetDetectorVersionOutput) SetDescription(v string) *GetDetectorVersionOutput {
7228	s.Description = &v
7229	return s
7230}
7231
7232// SetDetectorId sets the DetectorId field's value.
7233func (s *GetDetectorVersionOutput) SetDetectorId(v string) *GetDetectorVersionOutput {
7234	s.DetectorId = &v
7235	return s
7236}
7237
7238// SetDetectorVersionId sets the DetectorVersionId field's value.
7239func (s *GetDetectorVersionOutput) SetDetectorVersionId(v string) *GetDetectorVersionOutput {
7240	s.DetectorVersionId = &v
7241	return s
7242}
7243
7244// SetExternalModelEndpoints sets the ExternalModelEndpoints field's value.
7245func (s *GetDetectorVersionOutput) SetExternalModelEndpoints(v []*string) *GetDetectorVersionOutput {
7246	s.ExternalModelEndpoints = v
7247	return s
7248}
7249
7250// SetLastUpdatedTime sets the LastUpdatedTime field's value.
7251func (s *GetDetectorVersionOutput) SetLastUpdatedTime(v string) *GetDetectorVersionOutput {
7252	s.LastUpdatedTime = &v
7253	return s
7254}
7255
7256// SetModelVersions sets the ModelVersions field's value.
7257func (s *GetDetectorVersionOutput) SetModelVersions(v []*ModelVersion) *GetDetectorVersionOutput {
7258	s.ModelVersions = v
7259	return s
7260}
7261
7262// SetRuleExecutionMode sets the RuleExecutionMode field's value.
7263func (s *GetDetectorVersionOutput) SetRuleExecutionMode(v string) *GetDetectorVersionOutput {
7264	s.RuleExecutionMode = &v
7265	return s
7266}
7267
7268// SetRules sets the Rules field's value.
7269func (s *GetDetectorVersionOutput) SetRules(v []*Rule) *GetDetectorVersionOutput {
7270	s.Rules = v
7271	return s
7272}
7273
7274// SetStatus sets the Status field's value.
7275func (s *GetDetectorVersionOutput) SetStatus(v string) *GetDetectorVersionOutput {
7276	s.Status = &v
7277	return s
7278}
7279
7280type GetDetectorsInput struct {
7281	_ struct{} `type:"structure"`
7282
7283	// The detector ID.
7284	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
7285
7286	// The maximum number of objects to return for the request.
7287	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
7288
7289	// The next token for the subsequent request.
7290	NextToken *string `locationName:"nextToken" type:"string"`
7291}
7292
7293// String returns the string representation
7294func (s GetDetectorsInput) String() string {
7295	return awsutil.Prettify(s)
7296}
7297
7298// GoString returns the string representation
7299func (s GetDetectorsInput) GoString() string {
7300	return s.String()
7301}
7302
7303// Validate inspects the fields of the type to determine if they are valid.
7304func (s *GetDetectorsInput) Validate() error {
7305	invalidParams := request.ErrInvalidParams{Context: "GetDetectorsInput"}
7306	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7307		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7308	}
7309	if s.MaxResults != nil && *s.MaxResults < 5 {
7310		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
7311	}
7312
7313	if invalidParams.Len() > 0 {
7314		return invalidParams
7315	}
7316	return nil
7317}
7318
7319// SetDetectorId sets the DetectorId field's value.
7320func (s *GetDetectorsInput) SetDetectorId(v string) *GetDetectorsInput {
7321	s.DetectorId = &v
7322	return s
7323}
7324
7325// SetMaxResults sets the MaxResults field's value.
7326func (s *GetDetectorsInput) SetMaxResults(v int64) *GetDetectorsInput {
7327	s.MaxResults = &v
7328	return s
7329}
7330
7331// SetNextToken sets the NextToken field's value.
7332func (s *GetDetectorsInput) SetNextToken(v string) *GetDetectorsInput {
7333	s.NextToken = &v
7334	return s
7335}
7336
7337type GetDetectorsOutput struct {
7338	_ struct{} `type:"structure"`
7339
7340	// The detectors.
7341	Detectors []*Detector `locationName:"detectors" type:"list"`
7342
7343	// The next page token.
7344	NextToken *string `locationName:"nextToken" type:"string"`
7345}
7346
7347// String returns the string representation
7348func (s GetDetectorsOutput) String() string {
7349	return awsutil.Prettify(s)
7350}
7351
7352// GoString returns the string representation
7353func (s GetDetectorsOutput) GoString() string {
7354	return s.String()
7355}
7356
7357// SetDetectors sets the Detectors field's value.
7358func (s *GetDetectorsOutput) SetDetectors(v []*Detector) *GetDetectorsOutput {
7359	s.Detectors = v
7360	return s
7361}
7362
7363// SetNextToken sets the NextToken field's value.
7364func (s *GetDetectorsOutput) SetNextToken(v string) *GetDetectorsOutput {
7365	s.NextToken = &v
7366	return s
7367}
7368
7369type GetEntityTypesInput struct {
7370	_ struct{} `type:"structure"`
7371
7372	// The maximum number of objects to return for the request.
7373	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
7374
7375	// The name.
7376	Name *string `locationName:"name" min:"1" type:"string"`
7377
7378	// The next token for the subsequent request.
7379	NextToken *string `locationName:"nextToken" type:"string"`
7380}
7381
7382// String returns the string representation
7383func (s GetEntityTypesInput) String() string {
7384	return awsutil.Prettify(s)
7385}
7386
7387// GoString returns the string representation
7388func (s GetEntityTypesInput) GoString() string {
7389	return s.String()
7390}
7391
7392// Validate inspects the fields of the type to determine if they are valid.
7393func (s *GetEntityTypesInput) Validate() error {
7394	invalidParams := request.ErrInvalidParams{Context: "GetEntityTypesInput"}
7395	if s.MaxResults != nil && *s.MaxResults < 5 {
7396		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
7397	}
7398	if s.Name != nil && len(*s.Name) < 1 {
7399		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7400	}
7401
7402	if invalidParams.Len() > 0 {
7403		return invalidParams
7404	}
7405	return nil
7406}
7407
7408// SetMaxResults sets the MaxResults field's value.
7409func (s *GetEntityTypesInput) SetMaxResults(v int64) *GetEntityTypesInput {
7410	s.MaxResults = &v
7411	return s
7412}
7413
7414// SetName sets the Name field's value.
7415func (s *GetEntityTypesInput) SetName(v string) *GetEntityTypesInput {
7416	s.Name = &v
7417	return s
7418}
7419
7420// SetNextToken sets the NextToken field's value.
7421func (s *GetEntityTypesInput) SetNextToken(v string) *GetEntityTypesInput {
7422	s.NextToken = &v
7423	return s
7424}
7425
7426type GetEntityTypesOutput struct {
7427	_ struct{} `type:"structure"`
7428
7429	// An array of entity types.
7430	EntityTypes []*EntityType `locationName:"entityTypes" type:"list"`
7431
7432	// The next page token.
7433	NextToken *string `locationName:"nextToken" type:"string"`
7434}
7435
7436// String returns the string representation
7437func (s GetEntityTypesOutput) String() string {
7438	return awsutil.Prettify(s)
7439}
7440
7441// GoString returns the string representation
7442func (s GetEntityTypesOutput) GoString() string {
7443	return s.String()
7444}
7445
7446// SetEntityTypes sets the EntityTypes field's value.
7447func (s *GetEntityTypesOutput) SetEntityTypes(v []*EntityType) *GetEntityTypesOutput {
7448	s.EntityTypes = v
7449	return s
7450}
7451
7452// SetNextToken sets the NextToken field's value.
7453func (s *GetEntityTypesOutput) SetNextToken(v string) *GetEntityTypesOutput {
7454	s.NextToken = &v
7455	return s
7456}
7457
7458type GetEventPredictionInput struct {
7459	_ struct{} `type:"structure"`
7460
7461	// The detector ID.
7462	//
7463	// DetectorId is a required field
7464	DetectorId *string `locationName:"detectorId" type:"string" required:"true"`
7465
7466	// The detector version ID.
7467	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
7468
7469	// The entity type (associated with the detector's event type) and specific
7470	// entity ID representing who performed the event. If an entity id is not available,
7471	// use "UNKNOWN."
7472	//
7473	// Entities is a required field
7474	Entities []*Entity `locationName:"entities" type:"list" required:"true"`
7475
7476	// The unique ID used to identify the event.
7477	//
7478	// EventId is a required field
7479	EventId *string `locationName:"eventId" type:"string" required:"true"`
7480
7481	// Timestamp that defines when the event under evaluation occurred.
7482	//
7483	// EventTimestamp is a required field
7484	EventTimestamp *string `locationName:"eventTimestamp" type:"string" required:"true"`
7485
7486	// The event type associated with the detector specified for the prediction.
7487	//
7488	// EventTypeName is a required field
7489	EventTypeName *string `locationName:"eventTypeName" type:"string" required:"true"`
7490
7491	// Names of the event type's variables you defined in Amazon Fraud Detector
7492	// to represent data elements and their corresponding values for the event you
7493	// are sending for evaluation.
7494	//
7495	// EventVariables is a required field
7496	EventVariables map[string]*string `locationName:"eventVariables" min:"1" type:"map" required:"true"`
7497
7498	// The Amazon SageMaker model endpoint input data blobs.
7499	ExternalModelEndpointDataBlobs map[string]*ModelEndpointDataBlob `locationName:"externalModelEndpointDataBlobs" type:"map" sensitive:"true"`
7500}
7501
7502// String returns the string representation
7503func (s GetEventPredictionInput) String() string {
7504	return awsutil.Prettify(s)
7505}
7506
7507// GoString returns the string representation
7508func (s GetEventPredictionInput) GoString() string {
7509	return s.String()
7510}
7511
7512// Validate inspects the fields of the type to determine if they are valid.
7513func (s *GetEventPredictionInput) Validate() error {
7514	invalidParams := request.ErrInvalidParams{Context: "GetEventPredictionInput"}
7515	if s.DetectorId == nil {
7516		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7517	}
7518	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
7519		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
7520	}
7521	if s.Entities == nil {
7522		invalidParams.Add(request.NewErrParamRequired("Entities"))
7523	}
7524	if s.EventId == nil {
7525		invalidParams.Add(request.NewErrParamRequired("EventId"))
7526	}
7527	if s.EventTimestamp == nil {
7528		invalidParams.Add(request.NewErrParamRequired("EventTimestamp"))
7529	}
7530	if s.EventTypeName == nil {
7531		invalidParams.Add(request.NewErrParamRequired("EventTypeName"))
7532	}
7533	if s.EventVariables == nil {
7534		invalidParams.Add(request.NewErrParamRequired("EventVariables"))
7535	}
7536	if s.EventVariables != nil && len(s.EventVariables) < 1 {
7537		invalidParams.Add(request.NewErrParamMinLen("EventVariables", 1))
7538	}
7539	if s.Entities != nil {
7540		for i, v := range s.Entities {
7541			if v == nil {
7542				continue
7543			}
7544			if err := v.Validate(); err != nil {
7545				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entities", i), err.(request.ErrInvalidParams))
7546			}
7547		}
7548	}
7549	if s.ExternalModelEndpointDataBlobs != nil {
7550		for i, v := range s.ExternalModelEndpointDataBlobs {
7551			if v == nil {
7552				continue
7553			}
7554			if err := v.Validate(); err != nil {
7555				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExternalModelEndpointDataBlobs", i), err.(request.ErrInvalidParams))
7556			}
7557		}
7558	}
7559
7560	if invalidParams.Len() > 0 {
7561		return invalidParams
7562	}
7563	return nil
7564}
7565
7566// SetDetectorId sets the DetectorId field's value.
7567func (s *GetEventPredictionInput) SetDetectorId(v string) *GetEventPredictionInput {
7568	s.DetectorId = &v
7569	return s
7570}
7571
7572// SetDetectorVersionId sets the DetectorVersionId field's value.
7573func (s *GetEventPredictionInput) SetDetectorVersionId(v string) *GetEventPredictionInput {
7574	s.DetectorVersionId = &v
7575	return s
7576}
7577
7578// SetEntities sets the Entities field's value.
7579func (s *GetEventPredictionInput) SetEntities(v []*Entity) *GetEventPredictionInput {
7580	s.Entities = v
7581	return s
7582}
7583
7584// SetEventId sets the EventId field's value.
7585func (s *GetEventPredictionInput) SetEventId(v string) *GetEventPredictionInput {
7586	s.EventId = &v
7587	return s
7588}
7589
7590// SetEventTimestamp sets the EventTimestamp field's value.
7591func (s *GetEventPredictionInput) SetEventTimestamp(v string) *GetEventPredictionInput {
7592	s.EventTimestamp = &v
7593	return s
7594}
7595
7596// SetEventTypeName sets the EventTypeName field's value.
7597func (s *GetEventPredictionInput) SetEventTypeName(v string) *GetEventPredictionInput {
7598	s.EventTypeName = &v
7599	return s
7600}
7601
7602// SetEventVariables sets the EventVariables field's value.
7603func (s *GetEventPredictionInput) SetEventVariables(v map[string]*string) *GetEventPredictionInput {
7604	s.EventVariables = v
7605	return s
7606}
7607
7608// SetExternalModelEndpointDataBlobs sets the ExternalModelEndpointDataBlobs field's value.
7609func (s *GetEventPredictionInput) SetExternalModelEndpointDataBlobs(v map[string]*ModelEndpointDataBlob) *GetEventPredictionInput {
7610	s.ExternalModelEndpointDataBlobs = v
7611	return s
7612}
7613
7614type GetEventPredictionOutput struct {
7615	_ struct{} `type:"structure"`
7616
7617	// The model scores. Amazon Fraud Detector generates model scores between 0
7618	// and 1000, where 0 is low fraud risk and 1000 is high fraud risk. Model scores
7619	// are directly related to the false positive rate (FPR). For example, a score
7620	// of 600 corresponds to an estimated 10% false positive rate whereas a score
7621	// of 900 corresponds to an estimated 2% false positive rate.
7622	ModelScores []*ModelScores `locationName:"modelScores" type:"list"`
7623
7624	// The results.
7625	RuleResults []*RuleResult `locationName:"ruleResults" type:"list"`
7626}
7627
7628// String returns the string representation
7629func (s GetEventPredictionOutput) String() string {
7630	return awsutil.Prettify(s)
7631}
7632
7633// GoString returns the string representation
7634func (s GetEventPredictionOutput) GoString() string {
7635	return s.String()
7636}
7637
7638// SetModelScores sets the ModelScores field's value.
7639func (s *GetEventPredictionOutput) SetModelScores(v []*ModelScores) *GetEventPredictionOutput {
7640	s.ModelScores = v
7641	return s
7642}
7643
7644// SetRuleResults sets the RuleResults field's value.
7645func (s *GetEventPredictionOutput) SetRuleResults(v []*RuleResult) *GetEventPredictionOutput {
7646	s.RuleResults = v
7647	return s
7648}
7649
7650type GetEventTypesInput struct {
7651	_ struct{} `type:"structure"`
7652
7653	// The maximum number of objects to return for the request.
7654	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
7655
7656	// The name.
7657	Name *string `locationName:"name" min:"1" type:"string"`
7658
7659	// The next token for the subsequent request.
7660	NextToken *string `locationName:"nextToken" type:"string"`
7661}
7662
7663// String returns the string representation
7664func (s GetEventTypesInput) String() string {
7665	return awsutil.Prettify(s)
7666}
7667
7668// GoString returns the string representation
7669func (s GetEventTypesInput) GoString() string {
7670	return s.String()
7671}
7672
7673// Validate inspects the fields of the type to determine if they are valid.
7674func (s *GetEventTypesInput) Validate() error {
7675	invalidParams := request.ErrInvalidParams{Context: "GetEventTypesInput"}
7676	if s.MaxResults != nil && *s.MaxResults < 5 {
7677		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
7678	}
7679	if s.Name != nil && len(*s.Name) < 1 {
7680		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7681	}
7682
7683	if invalidParams.Len() > 0 {
7684		return invalidParams
7685	}
7686	return nil
7687}
7688
7689// SetMaxResults sets the MaxResults field's value.
7690func (s *GetEventTypesInput) SetMaxResults(v int64) *GetEventTypesInput {
7691	s.MaxResults = &v
7692	return s
7693}
7694
7695// SetName sets the Name field's value.
7696func (s *GetEventTypesInput) SetName(v string) *GetEventTypesInput {
7697	s.Name = &v
7698	return s
7699}
7700
7701// SetNextToken sets the NextToken field's value.
7702func (s *GetEventTypesInput) SetNextToken(v string) *GetEventTypesInput {
7703	s.NextToken = &v
7704	return s
7705}
7706
7707type GetEventTypesOutput struct {
7708	_ struct{} `type:"structure"`
7709
7710	// An array of event types.
7711	EventTypes []*EventType `locationName:"eventTypes" type:"list"`
7712
7713	// The next page token.
7714	NextToken *string `locationName:"nextToken" type:"string"`
7715}
7716
7717// String returns the string representation
7718func (s GetEventTypesOutput) String() string {
7719	return awsutil.Prettify(s)
7720}
7721
7722// GoString returns the string representation
7723func (s GetEventTypesOutput) GoString() string {
7724	return s.String()
7725}
7726
7727// SetEventTypes sets the EventTypes field's value.
7728func (s *GetEventTypesOutput) SetEventTypes(v []*EventType) *GetEventTypesOutput {
7729	s.EventTypes = v
7730	return s
7731}
7732
7733// SetNextToken sets the NextToken field's value.
7734func (s *GetEventTypesOutput) SetNextToken(v string) *GetEventTypesOutput {
7735	s.NextToken = &v
7736	return s
7737}
7738
7739type GetExternalModelsInput struct {
7740	_ struct{} `type:"structure"`
7741
7742	// The maximum number of objects to return for the request.
7743	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
7744
7745	// The Amazon SageMaker model endpoint.
7746	ModelEndpoint *string `locationName:"modelEndpoint" type:"string"`
7747
7748	// The next page token for the request.
7749	NextToken *string `locationName:"nextToken" type:"string"`
7750}
7751
7752// String returns the string representation
7753func (s GetExternalModelsInput) String() string {
7754	return awsutil.Prettify(s)
7755}
7756
7757// GoString returns the string representation
7758func (s GetExternalModelsInput) GoString() string {
7759	return s.String()
7760}
7761
7762// Validate inspects the fields of the type to determine if they are valid.
7763func (s *GetExternalModelsInput) Validate() error {
7764	invalidParams := request.ErrInvalidParams{Context: "GetExternalModelsInput"}
7765	if s.MaxResults != nil && *s.MaxResults < 5 {
7766		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
7767	}
7768
7769	if invalidParams.Len() > 0 {
7770		return invalidParams
7771	}
7772	return nil
7773}
7774
7775// SetMaxResults sets the MaxResults field's value.
7776func (s *GetExternalModelsInput) SetMaxResults(v int64) *GetExternalModelsInput {
7777	s.MaxResults = &v
7778	return s
7779}
7780
7781// SetModelEndpoint sets the ModelEndpoint field's value.
7782func (s *GetExternalModelsInput) SetModelEndpoint(v string) *GetExternalModelsInput {
7783	s.ModelEndpoint = &v
7784	return s
7785}
7786
7787// SetNextToken sets the NextToken field's value.
7788func (s *GetExternalModelsInput) SetNextToken(v string) *GetExternalModelsInput {
7789	s.NextToken = &v
7790	return s
7791}
7792
7793type GetExternalModelsOutput struct {
7794	_ struct{} `type:"structure"`
7795
7796	// Gets the Amazon SageMaker models.
7797	ExternalModels []*ExternalModel `locationName:"externalModels" type:"list"`
7798
7799	// The next page token to be used in subsequent requests.
7800	NextToken *string `locationName:"nextToken" type:"string"`
7801}
7802
7803// String returns the string representation
7804func (s GetExternalModelsOutput) String() string {
7805	return awsutil.Prettify(s)
7806}
7807
7808// GoString returns the string representation
7809func (s GetExternalModelsOutput) GoString() string {
7810	return s.String()
7811}
7812
7813// SetExternalModels sets the ExternalModels field's value.
7814func (s *GetExternalModelsOutput) SetExternalModels(v []*ExternalModel) *GetExternalModelsOutput {
7815	s.ExternalModels = v
7816	return s
7817}
7818
7819// SetNextToken sets the NextToken field's value.
7820func (s *GetExternalModelsOutput) SetNextToken(v string) *GetExternalModelsOutput {
7821	s.NextToken = &v
7822	return s
7823}
7824
7825type GetKMSEncryptionKeyInput struct {
7826	_ struct{} `type:"structure"`
7827}
7828
7829// String returns the string representation
7830func (s GetKMSEncryptionKeyInput) String() string {
7831	return awsutil.Prettify(s)
7832}
7833
7834// GoString returns the string representation
7835func (s GetKMSEncryptionKeyInput) GoString() string {
7836	return s.String()
7837}
7838
7839type GetKMSEncryptionKeyOutput struct {
7840	_ struct{} `type:"structure"`
7841
7842	// The KMS encryption key.
7843	KmsKey *KMSKey `locationName:"kmsKey" type:"structure"`
7844}
7845
7846// String returns the string representation
7847func (s GetKMSEncryptionKeyOutput) String() string {
7848	return awsutil.Prettify(s)
7849}
7850
7851// GoString returns the string representation
7852func (s GetKMSEncryptionKeyOutput) GoString() string {
7853	return s.String()
7854}
7855
7856// SetKmsKey sets the KmsKey field's value.
7857func (s *GetKMSEncryptionKeyOutput) SetKmsKey(v *KMSKey) *GetKMSEncryptionKeyOutput {
7858	s.KmsKey = v
7859	return s
7860}
7861
7862type GetLabelsInput struct {
7863	_ struct{} `type:"structure"`
7864
7865	// The maximum number of objects to return for the request.
7866	MaxResults *int64 `locationName:"maxResults" min:"10" type:"integer"`
7867
7868	// The name of the label or labels to get.
7869	Name *string `locationName:"name" min:"1" type:"string"`
7870
7871	// The next token for the subsequent request.
7872	NextToken *string `locationName:"nextToken" type:"string"`
7873}
7874
7875// String returns the string representation
7876func (s GetLabelsInput) String() string {
7877	return awsutil.Prettify(s)
7878}
7879
7880// GoString returns the string representation
7881func (s GetLabelsInput) GoString() string {
7882	return s.String()
7883}
7884
7885// Validate inspects the fields of the type to determine if they are valid.
7886func (s *GetLabelsInput) Validate() error {
7887	invalidParams := request.ErrInvalidParams{Context: "GetLabelsInput"}
7888	if s.MaxResults != nil && *s.MaxResults < 10 {
7889		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
7890	}
7891	if s.Name != nil && len(*s.Name) < 1 {
7892		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7893	}
7894
7895	if invalidParams.Len() > 0 {
7896		return invalidParams
7897	}
7898	return nil
7899}
7900
7901// SetMaxResults sets the MaxResults field's value.
7902func (s *GetLabelsInput) SetMaxResults(v int64) *GetLabelsInput {
7903	s.MaxResults = &v
7904	return s
7905}
7906
7907// SetName sets the Name field's value.
7908func (s *GetLabelsInput) SetName(v string) *GetLabelsInput {
7909	s.Name = &v
7910	return s
7911}
7912
7913// SetNextToken sets the NextToken field's value.
7914func (s *GetLabelsInput) SetNextToken(v string) *GetLabelsInput {
7915	s.NextToken = &v
7916	return s
7917}
7918
7919type GetLabelsOutput struct {
7920	_ struct{} `type:"structure"`
7921
7922	// An array of labels.
7923	Labels []*Label `locationName:"labels" type:"list"`
7924
7925	// The next page token.
7926	NextToken *string `locationName:"nextToken" type:"string"`
7927}
7928
7929// String returns the string representation
7930func (s GetLabelsOutput) String() string {
7931	return awsutil.Prettify(s)
7932}
7933
7934// GoString returns the string representation
7935func (s GetLabelsOutput) GoString() string {
7936	return s.String()
7937}
7938
7939// SetLabels sets the Labels field's value.
7940func (s *GetLabelsOutput) SetLabels(v []*Label) *GetLabelsOutput {
7941	s.Labels = v
7942	return s
7943}
7944
7945// SetNextToken sets the NextToken field's value.
7946func (s *GetLabelsOutput) SetNextToken(v string) *GetLabelsOutput {
7947	s.NextToken = &v
7948	return s
7949}
7950
7951type GetModelVersionInput struct {
7952	_ struct{} `type:"structure"`
7953
7954	// The model ID.
7955	//
7956	// ModelId is a required field
7957	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
7958
7959	// The model type.
7960	//
7961	// ModelType is a required field
7962	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
7963
7964	// The model version number.
7965	//
7966	// ModelVersionNumber is a required field
7967	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"3" type:"string" required:"true"`
7968}
7969
7970// String returns the string representation
7971func (s GetModelVersionInput) String() string {
7972	return awsutil.Prettify(s)
7973}
7974
7975// GoString returns the string representation
7976func (s GetModelVersionInput) GoString() string {
7977	return s.String()
7978}
7979
7980// Validate inspects the fields of the type to determine if they are valid.
7981func (s *GetModelVersionInput) Validate() error {
7982	invalidParams := request.ErrInvalidParams{Context: "GetModelVersionInput"}
7983	if s.ModelId == nil {
7984		invalidParams.Add(request.NewErrParamRequired("ModelId"))
7985	}
7986	if s.ModelId != nil && len(*s.ModelId) < 1 {
7987		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
7988	}
7989	if s.ModelType == nil {
7990		invalidParams.Add(request.NewErrParamRequired("ModelType"))
7991	}
7992	if s.ModelVersionNumber == nil {
7993		invalidParams.Add(request.NewErrParamRequired("ModelVersionNumber"))
7994	}
7995	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 3 {
7996		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 3))
7997	}
7998
7999	if invalidParams.Len() > 0 {
8000		return invalidParams
8001	}
8002	return nil
8003}
8004
8005// SetModelId sets the ModelId field's value.
8006func (s *GetModelVersionInput) SetModelId(v string) *GetModelVersionInput {
8007	s.ModelId = &v
8008	return s
8009}
8010
8011// SetModelType sets the ModelType field's value.
8012func (s *GetModelVersionInput) SetModelType(v string) *GetModelVersionInput {
8013	s.ModelType = &v
8014	return s
8015}
8016
8017// SetModelVersionNumber sets the ModelVersionNumber field's value.
8018func (s *GetModelVersionInput) SetModelVersionNumber(v string) *GetModelVersionInput {
8019	s.ModelVersionNumber = &v
8020	return s
8021}
8022
8023type GetModelVersionOutput struct {
8024	_ struct{} `type:"structure"`
8025
8026	// The model version ARN.
8027	Arn *string `locationName:"arn" min:"1" type:"string"`
8028
8029	// The event details.
8030	ExternalEventsDetail *ExternalEventsDetail `locationName:"externalEventsDetail" type:"structure"`
8031
8032	// The model ID.
8033	ModelId *string `locationName:"modelId" min:"1" type:"string"`
8034
8035	// The model type.
8036	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
8037
8038	// The model version number.
8039	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"3" type:"string"`
8040
8041	// The model version status.
8042	Status *string `locationName:"status" type:"string"`
8043
8044	// The training data schema.
8045	TrainingDataSchema *TrainingDataSchema `locationName:"trainingDataSchema" type:"structure"`
8046
8047	// The training data source.
8048	TrainingDataSource *string `locationName:"trainingDataSource" type:"string" enum:"TrainingDataSourceEnum"`
8049}
8050
8051// String returns the string representation
8052func (s GetModelVersionOutput) String() string {
8053	return awsutil.Prettify(s)
8054}
8055
8056// GoString returns the string representation
8057func (s GetModelVersionOutput) GoString() string {
8058	return s.String()
8059}
8060
8061// SetArn sets the Arn field's value.
8062func (s *GetModelVersionOutput) SetArn(v string) *GetModelVersionOutput {
8063	s.Arn = &v
8064	return s
8065}
8066
8067// SetExternalEventsDetail sets the ExternalEventsDetail field's value.
8068func (s *GetModelVersionOutput) SetExternalEventsDetail(v *ExternalEventsDetail) *GetModelVersionOutput {
8069	s.ExternalEventsDetail = v
8070	return s
8071}
8072
8073// SetModelId sets the ModelId field's value.
8074func (s *GetModelVersionOutput) SetModelId(v string) *GetModelVersionOutput {
8075	s.ModelId = &v
8076	return s
8077}
8078
8079// SetModelType sets the ModelType field's value.
8080func (s *GetModelVersionOutput) SetModelType(v string) *GetModelVersionOutput {
8081	s.ModelType = &v
8082	return s
8083}
8084
8085// SetModelVersionNumber sets the ModelVersionNumber field's value.
8086func (s *GetModelVersionOutput) SetModelVersionNumber(v string) *GetModelVersionOutput {
8087	s.ModelVersionNumber = &v
8088	return s
8089}
8090
8091// SetStatus sets the Status field's value.
8092func (s *GetModelVersionOutput) SetStatus(v string) *GetModelVersionOutput {
8093	s.Status = &v
8094	return s
8095}
8096
8097// SetTrainingDataSchema sets the TrainingDataSchema field's value.
8098func (s *GetModelVersionOutput) SetTrainingDataSchema(v *TrainingDataSchema) *GetModelVersionOutput {
8099	s.TrainingDataSchema = v
8100	return s
8101}
8102
8103// SetTrainingDataSource sets the TrainingDataSource field's value.
8104func (s *GetModelVersionOutput) SetTrainingDataSource(v string) *GetModelVersionOutput {
8105	s.TrainingDataSource = &v
8106	return s
8107}
8108
8109type GetModelsInput struct {
8110	_ struct{} `type:"structure"`
8111
8112	// The maximum number of objects to return for the request.
8113	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
8114
8115	// The model ID.
8116	ModelId *string `locationName:"modelId" min:"1" type:"string"`
8117
8118	// The model type.
8119	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
8120
8121	// The next token for the subsequent request.
8122	NextToken *string `locationName:"nextToken" type:"string"`
8123}
8124
8125// String returns the string representation
8126func (s GetModelsInput) String() string {
8127	return awsutil.Prettify(s)
8128}
8129
8130// GoString returns the string representation
8131func (s GetModelsInput) GoString() string {
8132	return s.String()
8133}
8134
8135// Validate inspects the fields of the type to determine if they are valid.
8136func (s *GetModelsInput) Validate() error {
8137	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
8138	if s.MaxResults != nil && *s.MaxResults < 1 {
8139		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8140	}
8141	if s.ModelId != nil && len(*s.ModelId) < 1 {
8142		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
8143	}
8144
8145	if invalidParams.Len() > 0 {
8146		return invalidParams
8147	}
8148	return nil
8149}
8150
8151// SetMaxResults sets the MaxResults field's value.
8152func (s *GetModelsInput) SetMaxResults(v int64) *GetModelsInput {
8153	s.MaxResults = &v
8154	return s
8155}
8156
8157// SetModelId sets the ModelId field's value.
8158func (s *GetModelsInput) SetModelId(v string) *GetModelsInput {
8159	s.ModelId = &v
8160	return s
8161}
8162
8163// SetModelType sets the ModelType field's value.
8164func (s *GetModelsInput) SetModelType(v string) *GetModelsInput {
8165	s.ModelType = &v
8166	return s
8167}
8168
8169// SetNextToken sets the NextToken field's value.
8170func (s *GetModelsInput) SetNextToken(v string) *GetModelsInput {
8171	s.NextToken = &v
8172	return s
8173}
8174
8175type GetModelsOutput struct {
8176	_ struct{} `type:"structure"`
8177
8178	// The array of models.
8179	Models []*Model `locationName:"models" type:"list"`
8180
8181	// The next page token to be used in subsequent requests.
8182	NextToken *string `locationName:"nextToken" type:"string"`
8183}
8184
8185// String returns the string representation
8186func (s GetModelsOutput) String() string {
8187	return awsutil.Prettify(s)
8188}
8189
8190// GoString returns the string representation
8191func (s GetModelsOutput) GoString() string {
8192	return s.String()
8193}
8194
8195// SetModels sets the Models field's value.
8196func (s *GetModelsOutput) SetModels(v []*Model) *GetModelsOutput {
8197	s.Models = v
8198	return s
8199}
8200
8201// SetNextToken sets the NextToken field's value.
8202func (s *GetModelsOutput) SetNextToken(v string) *GetModelsOutput {
8203	s.NextToken = &v
8204	return s
8205}
8206
8207type GetOutcomesInput struct {
8208	_ struct{} `type:"structure"`
8209
8210	// The maximum number of objects to return for the request.
8211	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
8212
8213	// The name of the outcome or outcomes to get.
8214	Name *string `locationName:"name" min:"1" type:"string"`
8215
8216	// The next page token for the request.
8217	NextToken *string `locationName:"nextToken" type:"string"`
8218}
8219
8220// String returns the string representation
8221func (s GetOutcomesInput) String() string {
8222	return awsutil.Prettify(s)
8223}
8224
8225// GoString returns the string representation
8226func (s GetOutcomesInput) GoString() string {
8227	return s.String()
8228}
8229
8230// Validate inspects the fields of the type to determine if they are valid.
8231func (s *GetOutcomesInput) Validate() error {
8232	invalidParams := request.ErrInvalidParams{Context: "GetOutcomesInput"}
8233	if s.MaxResults != nil && *s.MaxResults < 50 {
8234		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
8235	}
8236	if s.Name != nil && len(*s.Name) < 1 {
8237		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8238	}
8239
8240	if invalidParams.Len() > 0 {
8241		return invalidParams
8242	}
8243	return nil
8244}
8245
8246// SetMaxResults sets the MaxResults field's value.
8247func (s *GetOutcomesInput) SetMaxResults(v int64) *GetOutcomesInput {
8248	s.MaxResults = &v
8249	return s
8250}
8251
8252// SetName sets the Name field's value.
8253func (s *GetOutcomesInput) SetName(v string) *GetOutcomesInput {
8254	s.Name = &v
8255	return s
8256}
8257
8258// SetNextToken sets the NextToken field's value.
8259func (s *GetOutcomesInput) SetNextToken(v string) *GetOutcomesInput {
8260	s.NextToken = &v
8261	return s
8262}
8263
8264type GetOutcomesOutput struct {
8265	_ struct{} `type:"structure"`
8266
8267	// The next page token for subsequent requests.
8268	NextToken *string `locationName:"nextToken" type:"string"`
8269
8270	// The outcomes.
8271	Outcomes []*Outcome `locationName:"outcomes" type:"list"`
8272}
8273
8274// String returns the string representation
8275func (s GetOutcomesOutput) String() string {
8276	return awsutil.Prettify(s)
8277}
8278
8279// GoString returns the string representation
8280func (s GetOutcomesOutput) GoString() string {
8281	return s.String()
8282}
8283
8284// SetNextToken sets the NextToken field's value.
8285func (s *GetOutcomesOutput) SetNextToken(v string) *GetOutcomesOutput {
8286	s.NextToken = &v
8287	return s
8288}
8289
8290// SetOutcomes sets the Outcomes field's value.
8291func (s *GetOutcomesOutput) SetOutcomes(v []*Outcome) *GetOutcomesOutput {
8292	s.Outcomes = v
8293	return s
8294}
8295
8296type GetRulesInput struct {
8297	_ struct{} `type:"structure"`
8298
8299	// The detector ID.
8300	//
8301	// DetectorId is a required field
8302	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
8303
8304	// The maximum number of rules to return for the request.
8305	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
8306
8307	// The next page token.
8308	NextToken *string `locationName:"nextToken" type:"string"`
8309
8310	// The rule ID.
8311	RuleId *string `locationName:"ruleId" min:"1" type:"string"`
8312
8313	// The rule version.
8314	RuleVersion *string `locationName:"ruleVersion" min:"1" type:"string"`
8315}
8316
8317// String returns the string representation
8318func (s GetRulesInput) String() string {
8319	return awsutil.Prettify(s)
8320}
8321
8322// GoString returns the string representation
8323func (s GetRulesInput) GoString() string {
8324	return s.String()
8325}
8326
8327// Validate inspects the fields of the type to determine if they are valid.
8328func (s *GetRulesInput) Validate() error {
8329	invalidParams := request.ErrInvalidParams{Context: "GetRulesInput"}
8330	if s.DetectorId == nil {
8331		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8332	}
8333	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8334		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8335	}
8336	if s.MaxResults != nil && *s.MaxResults < 50 {
8337		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
8338	}
8339	if s.RuleId != nil && len(*s.RuleId) < 1 {
8340		invalidParams.Add(request.NewErrParamMinLen("RuleId", 1))
8341	}
8342	if s.RuleVersion != nil && len(*s.RuleVersion) < 1 {
8343		invalidParams.Add(request.NewErrParamMinLen("RuleVersion", 1))
8344	}
8345
8346	if invalidParams.Len() > 0 {
8347		return invalidParams
8348	}
8349	return nil
8350}
8351
8352// SetDetectorId sets the DetectorId field's value.
8353func (s *GetRulesInput) SetDetectorId(v string) *GetRulesInput {
8354	s.DetectorId = &v
8355	return s
8356}
8357
8358// SetMaxResults sets the MaxResults field's value.
8359func (s *GetRulesInput) SetMaxResults(v int64) *GetRulesInput {
8360	s.MaxResults = &v
8361	return s
8362}
8363
8364// SetNextToken sets the NextToken field's value.
8365func (s *GetRulesInput) SetNextToken(v string) *GetRulesInput {
8366	s.NextToken = &v
8367	return s
8368}
8369
8370// SetRuleId sets the RuleId field's value.
8371func (s *GetRulesInput) SetRuleId(v string) *GetRulesInput {
8372	s.RuleId = &v
8373	return s
8374}
8375
8376// SetRuleVersion sets the RuleVersion field's value.
8377func (s *GetRulesInput) SetRuleVersion(v string) *GetRulesInput {
8378	s.RuleVersion = &v
8379	return s
8380}
8381
8382type GetRulesOutput struct {
8383	_ struct{} `type:"structure"`
8384
8385	// The next page token to be used in subsequent requests.
8386	NextToken *string `locationName:"nextToken" type:"string"`
8387
8388	// The details of the requested rule.
8389	RuleDetails []*RuleDetail `locationName:"ruleDetails" type:"list"`
8390}
8391
8392// String returns the string representation
8393func (s GetRulesOutput) String() string {
8394	return awsutil.Prettify(s)
8395}
8396
8397// GoString returns the string representation
8398func (s GetRulesOutput) GoString() string {
8399	return s.String()
8400}
8401
8402// SetNextToken sets the NextToken field's value.
8403func (s *GetRulesOutput) SetNextToken(v string) *GetRulesOutput {
8404	s.NextToken = &v
8405	return s
8406}
8407
8408// SetRuleDetails sets the RuleDetails field's value.
8409func (s *GetRulesOutput) SetRuleDetails(v []*RuleDetail) *GetRulesOutput {
8410	s.RuleDetails = v
8411	return s
8412}
8413
8414type GetVariablesInput struct {
8415	_ struct{} `type:"structure"`
8416
8417	// The max size per page determined for the get variable request.
8418	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
8419
8420	// The name of the variable.
8421	Name *string `locationName:"name" type:"string"`
8422
8423	// The next page token of the get variable request.
8424	NextToken *string `locationName:"nextToken" type:"string"`
8425}
8426
8427// String returns the string representation
8428func (s GetVariablesInput) String() string {
8429	return awsutil.Prettify(s)
8430}
8431
8432// GoString returns the string representation
8433func (s GetVariablesInput) GoString() string {
8434	return s.String()
8435}
8436
8437// Validate inspects the fields of the type to determine if they are valid.
8438func (s *GetVariablesInput) Validate() error {
8439	invalidParams := request.ErrInvalidParams{Context: "GetVariablesInput"}
8440	if s.MaxResults != nil && *s.MaxResults < 50 {
8441		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
8442	}
8443
8444	if invalidParams.Len() > 0 {
8445		return invalidParams
8446	}
8447	return nil
8448}
8449
8450// SetMaxResults sets the MaxResults field's value.
8451func (s *GetVariablesInput) SetMaxResults(v int64) *GetVariablesInput {
8452	s.MaxResults = &v
8453	return s
8454}
8455
8456// SetName sets the Name field's value.
8457func (s *GetVariablesInput) SetName(v string) *GetVariablesInput {
8458	s.Name = &v
8459	return s
8460}
8461
8462// SetNextToken sets the NextToken field's value.
8463func (s *GetVariablesInput) SetNextToken(v string) *GetVariablesInput {
8464	s.NextToken = &v
8465	return s
8466}
8467
8468type GetVariablesOutput struct {
8469	_ struct{} `type:"structure"`
8470
8471	// The next page token to be used in subsequent requests.
8472	NextToken *string `locationName:"nextToken" type:"string"`
8473
8474	// The names of the variables returned.
8475	Variables []*Variable `locationName:"variables" type:"list"`
8476}
8477
8478// String returns the string representation
8479func (s GetVariablesOutput) String() string {
8480	return awsutil.Prettify(s)
8481}
8482
8483// GoString returns the string representation
8484func (s GetVariablesOutput) GoString() string {
8485	return s.String()
8486}
8487
8488// SetNextToken sets the NextToken field's value.
8489func (s *GetVariablesOutput) SetNextToken(v string) *GetVariablesOutput {
8490	s.NextToken = &v
8491	return s
8492}
8493
8494// SetVariables sets the Variables field's value.
8495func (s *GetVariablesOutput) SetVariables(v []*Variable) *GetVariablesOutput {
8496	s.Variables = v
8497	return s
8498}
8499
8500// An exception indicating an internal server error.
8501type InternalServerException struct {
8502	_            struct{}                  `type:"structure"`
8503	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8504
8505	Message_ *string `locationName:"message" type:"string"`
8506}
8507
8508// String returns the string representation
8509func (s InternalServerException) String() string {
8510	return awsutil.Prettify(s)
8511}
8512
8513// GoString returns the string representation
8514func (s InternalServerException) GoString() string {
8515	return s.String()
8516}
8517
8518func newErrorInternalServerException(v protocol.ResponseMetadata) error {
8519	return &InternalServerException{
8520		RespMetadata: v,
8521	}
8522}
8523
8524// Code returns the exception type name.
8525func (s *InternalServerException) Code() string {
8526	return "InternalServerException"
8527}
8528
8529// Message returns the exception's message.
8530func (s *InternalServerException) Message() string {
8531	if s.Message_ != nil {
8532		return *s.Message_
8533	}
8534	return ""
8535}
8536
8537// OrigErr always returns nil, satisfies awserr.Error interface.
8538func (s *InternalServerException) OrigErr() error {
8539	return nil
8540}
8541
8542func (s *InternalServerException) Error() string {
8543	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8544}
8545
8546// Status code returns the HTTP status code for the request's response error.
8547func (s *InternalServerException) StatusCode() int {
8548	return s.RespMetadata.StatusCode
8549}
8550
8551// RequestID returns the service's response RequestID for request.
8552func (s *InternalServerException) RequestID() string {
8553	return s.RespMetadata.RequestID
8554}
8555
8556// The KMS key details.
8557type KMSKey struct {
8558	_ struct{} `type:"structure"`
8559
8560	// The encryption key ARN.
8561	KmsEncryptionKeyArn *string `locationName:"kmsEncryptionKeyArn" min:"7" type:"string"`
8562}
8563
8564// String returns the string representation
8565func (s KMSKey) String() string {
8566	return awsutil.Prettify(s)
8567}
8568
8569// GoString returns the string representation
8570func (s KMSKey) GoString() string {
8571	return s.String()
8572}
8573
8574// SetKmsEncryptionKeyArn sets the KmsEncryptionKeyArn field's value.
8575func (s *KMSKey) SetKmsEncryptionKeyArn(v string) *KMSKey {
8576	s.KmsEncryptionKeyArn = &v
8577	return s
8578}
8579
8580// The label details.
8581type Label struct {
8582	_ struct{} `type:"structure"`
8583
8584	// The label ARN.
8585	Arn *string `locationName:"arn" min:"1" type:"string"`
8586
8587	// Timestamp of when the event type was created.
8588	CreatedTime *string `locationName:"createdTime" type:"string"`
8589
8590	// The label description.
8591	Description *string `locationName:"description" min:"1" type:"string"`
8592
8593	// Timestamp of when the label was last updated.
8594	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
8595
8596	// The label name.
8597	Name *string `locationName:"name" type:"string"`
8598}
8599
8600// String returns the string representation
8601func (s Label) String() string {
8602	return awsutil.Prettify(s)
8603}
8604
8605// GoString returns the string representation
8606func (s Label) GoString() string {
8607	return s.String()
8608}
8609
8610// SetArn sets the Arn field's value.
8611func (s *Label) SetArn(v string) *Label {
8612	s.Arn = &v
8613	return s
8614}
8615
8616// SetCreatedTime sets the CreatedTime field's value.
8617func (s *Label) SetCreatedTime(v string) *Label {
8618	s.CreatedTime = &v
8619	return s
8620}
8621
8622// SetDescription sets the Description field's value.
8623func (s *Label) SetDescription(v string) *Label {
8624	s.Description = &v
8625	return s
8626}
8627
8628// SetLastUpdatedTime sets the LastUpdatedTime field's value.
8629func (s *Label) SetLastUpdatedTime(v string) *Label {
8630	s.LastUpdatedTime = &v
8631	return s
8632}
8633
8634// SetName sets the Name field's value.
8635func (s *Label) SetName(v string) *Label {
8636	s.Name = &v
8637	return s
8638}
8639
8640// The label schema.
8641type LabelSchema struct {
8642	_ struct{} `type:"structure"`
8643
8644	// The label mapper maps the Amazon Fraud Detector supported model classification
8645	// labels (FRAUD, LEGIT) to the appropriate event type labels. For example,
8646	// if "FRAUD" and "LEGIT" are Amazon Fraud Detector supported labels, this mapper
8647	// could be: {"FRAUD" => ["0"], "LEGIT" => ["1"]} or {"FRAUD" => ["false"],
8648	// "LEGIT" => ["true"]} or {"FRAUD" => ["fraud", "abuse"], "LEGIT" => ["legit",
8649	// "safe"]}. The value part of the mapper is a list, because you may have multiple
8650	// label variants from your event type for a single Amazon Fraud Detector label.
8651	//
8652	// LabelMapper is a required field
8653	LabelMapper map[string][]*string `locationName:"labelMapper" type:"map" required:"true"`
8654}
8655
8656// String returns the string representation
8657func (s LabelSchema) String() string {
8658	return awsutil.Prettify(s)
8659}
8660
8661// GoString returns the string representation
8662func (s LabelSchema) GoString() string {
8663	return s.String()
8664}
8665
8666// Validate inspects the fields of the type to determine if they are valid.
8667func (s *LabelSchema) Validate() error {
8668	invalidParams := request.ErrInvalidParams{Context: "LabelSchema"}
8669	if s.LabelMapper == nil {
8670		invalidParams.Add(request.NewErrParamRequired("LabelMapper"))
8671	}
8672
8673	if invalidParams.Len() > 0 {
8674		return invalidParams
8675	}
8676	return nil
8677}
8678
8679// SetLabelMapper sets the LabelMapper field's value.
8680func (s *LabelSchema) SetLabelMapper(v map[string][]*string) *LabelSchema {
8681	s.LabelMapper = v
8682	return s
8683}
8684
8685type ListTagsForResourceInput struct {
8686	_ struct{} `type:"structure"`
8687
8688	// The maximum number of objects to return for the request.
8689	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
8690
8691	// The next token from the previous results.
8692	NextToken *string `locationName:"nextToken" type:"string"`
8693
8694	// The ARN that specifies the resource whose tags you want to list.
8695	//
8696	// ResourceARN is a required field
8697	ResourceARN *string `locationName:"resourceARN" min:"1" type:"string" required:"true"`
8698}
8699
8700// String returns the string representation
8701func (s ListTagsForResourceInput) String() string {
8702	return awsutil.Prettify(s)
8703}
8704
8705// GoString returns the string representation
8706func (s ListTagsForResourceInput) GoString() string {
8707	return s.String()
8708}
8709
8710// Validate inspects the fields of the type to determine if they are valid.
8711func (s *ListTagsForResourceInput) Validate() error {
8712	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8713	if s.MaxResults != nil && *s.MaxResults < 50 {
8714		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
8715	}
8716	if s.ResourceARN == nil {
8717		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
8718	}
8719	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
8720		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
8721	}
8722
8723	if invalidParams.Len() > 0 {
8724		return invalidParams
8725	}
8726	return nil
8727}
8728
8729// SetMaxResults sets the MaxResults field's value.
8730func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput {
8731	s.MaxResults = &v
8732	return s
8733}
8734
8735// SetNextToken sets the NextToken field's value.
8736func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
8737	s.NextToken = &v
8738	return s
8739}
8740
8741// SetResourceARN sets the ResourceARN field's value.
8742func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
8743	s.ResourceARN = &v
8744	return s
8745}
8746
8747type ListTagsForResourceOutput struct {
8748	_ struct{} `type:"structure"`
8749
8750	// The next token for subsequent requests.
8751	NextToken *string `locationName:"nextToken" type:"string"`
8752
8753	// A collection of key and value pairs.
8754	Tags []*Tag `locationName:"tags" type:"list"`
8755}
8756
8757// String returns the string representation
8758func (s ListTagsForResourceOutput) String() string {
8759	return awsutil.Prettify(s)
8760}
8761
8762// GoString returns the string representation
8763func (s ListTagsForResourceOutput) GoString() string {
8764	return s.String()
8765}
8766
8767// SetNextToken sets the NextToken field's value.
8768func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
8769	s.NextToken = &v
8770	return s
8771}
8772
8773// SetTags sets the Tags field's value.
8774func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
8775	s.Tags = v
8776	return s
8777}
8778
8779// Model performance metrics data points.
8780type MetricDataPoint struct {
8781	_ struct{} `type:"structure"`
8782
8783	// The false positive rate. This is the percentage of total legitimate events
8784	// that are incorrectly predicted as fraud.
8785	Fpr *float64 `locationName:"fpr" type:"float"`
8786
8787	// The percentage of fraud events correctly predicted as fraudulent as compared
8788	// to all events predicted as fraudulent.
8789	Precision *float64 `locationName:"precision" type:"float"`
8790
8791	// The model threshold that specifies an acceptable fraud capture rate. For
8792	// example, a threshold of 500 means any model score 500 or above is labeled
8793	// as fraud.
8794	Threshold *float64 `locationName:"threshold" type:"float"`
8795
8796	// The true positive rate. This is the percentage of total fraud the model detects.
8797	// Also known as capture rate.
8798	Tpr *float64 `locationName:"tpr" type:"float"`
8799}
8800
8801// String returns the string representation
8802func (s MetricDataPoint) String() string {
8803	return awsutil.Prettify(s)
8804}
8805
8806// GoString returns the string representation
8807func (s MetricDataPoint) GoString() string {
8808	return s.String()
8809}
8810
8811// SetFpr sets the Fpr field's value.
8812func (s *MetricDataPoint) SetFpr(v float64) *MetricDataPoint {
8813	s.Fpr = &v
8814	return s
8815}
8816
8817// SetPrecision sets the Precision field's value.
8818func (s *MetricDataPoint) SetPrecision(v float64) *MetricDataPoint {
8819	s.Precision = &v
8820	return s
8821}
8822
8823// SetThreshold sets the Threshold field's value.
8824func (s *MetricDataPoint) SetThreshold(v float64) *MetricDataPoint {
8825	s.Threshold = &v
8826	return s
8827}
8828
8829// SetTpr sets the Tpr field's value.
8830func (s *MetricDataPoint) SetTpr(v float64) *MetricDataPoint {
8831	s.Tpr = &v
8832	return s
8833}
8834
8835// The model.
8836type Model struct {
8837	_ struct{} `type:"structure"`
8838
8839	// The ARN of the model.
8840	Arn *string `locationName:"arn" min:"1" type:"string"`
8841
8842	// Timestamp of when the model was created.
8843	CreatedTime *string `locationName:"createdTime" type:"string"`
8844
8845	// The model description.
8846	Description *string `locationName:"description" min:"1" type:"string"`
8847
8848	// The name of the event type.
8849	EventTypeName *string `locationName:"eventTypeName" type:"string"`
8850
8851	// Timestamp of last time the model was updated.
8852	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
8853
8854	// The model ID.
8855	ModelId *string `locationName:"modelId" min:"1" type:"string"`
8856
8857	// The model type.
8858	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
8859}
8860
8861// String returns the string representation
8862func (s Model) String() string {
8863	return awsutil.Prettify(s)
8864}
8865
8866// GoString returns the string representation
8867func (s Model) GoString() string {
8868	return s.String()
8869}
8870
8871// SetArn sets the Arn field's value.
8872func (s *Model) SetArn(v string) *Model {
8873	s.Arn = &v
8874	return s
8875}
8876
8877// SetCreatedTime sets the CreatedTime field's value.
8878func (s *Model) SetCreatedTime(v string) *Model {
8879	s.CreatedTime = &v
8880	return s
8881}
8882
8883// SetDescription sets the Description field's value.
8884func (s *Model) SetDescription(v string) *Model {
8885	s.Description = &v
8886	return s
8887}
8888
8889// SetEventTypeName sets the EventTypeName field's value.
8890func (s *Model) SetEventTypeName(v string) *Model {
8891	s.EventTypeName = &v
8892	return s
8893}
8894
8895// SetLastUpdatedTime sets the LastUpdatedTime field's value.
8896func (s *Model) SetLastUpdatedTime(v string) *Model {
8897	s.LastUpdatedTime = &v
8898	return s
8899}
8900
8901// SetModelId sets the ModelId field's value.
8902func (s *Model) SetModelId(v string) *Model {
8903	s.ModelId = &v
8904	return s
8905}
8906
8907// SetModelType sets the ModelType field's value.
8908func (s *Model) SetModelType(v string) *Model {
8909	s.ModelType = &v
8910	return s
8911}
8912
8913// A pre-formed Amazon SageMaker model input you can include if your detector
8914// version includes an imported Amazon SageMaker model endpoint with pass-through
8915// input configuration.
8916type ModelEndpointDataBlob struct {
8917	_ struct{} `type:"structure"`
8918
8919	// The byte buffer of the Amazon SageMaker model endpoint input data blob.
8920	//
8921	// ByteBuffer is automatically base64 encoded/decoded by the SDK.
8922	ByteBuffer []byte `locationName:"byteBuffer" type:"blob"`
8923
8924	// The content type of the Amazon SageMaker model endpoint input data blob.
8925	ContentType *string `locationName:"contentType" min:"1" type:"string"`
8926}
8927
8928// String returns the string representation
8929func (s ModelEndpointDataBlob) String() string {
8930	return awsutil.Prettify(s)
8931}
8932
8933// GoString returns the string representation
8934func (s ModelEndpointDataBlob) GoString() string {
8935	return s.String()
8936}
8937
8938// Validate inspects the fields of the type to determine if they are valid.
8939func (s *ModelEndpointDataBlob) Validate() error {
8940	invalidParams := request.ErrInvalidParams{Context: "ModelEndpointDataBlob"}
8941	if s.ContentType != nil && len(*s.ContentType) < 1 {
8942		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
8943	}
8944
8945	if invalidParams.Len() > 0 {
8946		return invalidParams
8947	}
8948	return nil
8949}
8950
8951// SetByteBuffer sets the ByteBuffer field's value.
8952func (s *ModelEndpointDataBlob) SetByteBuffer(v []byte) *ModelEndpointDataBlob {
8953	s.ByteBuffer = v
8954	return s
8955}
8956
8957// SetContentType sets the ContentType field's value.
8958func (s *ModelEndpointDataBlob) SetContentType(v string) *ModelEndpointDataBlob {
8959	s.ContentType = &v
8960	return s
8961}
8962
8963// The Amazon SageMaker model input configuration.
8964type ModelInputConfiguration struct {
8965	_ struct{} `type:"structure"`
8966
8967	// Template for constructing the CSV input-data sent to SageMaker. At event-evaluation,
8968	// the placeholders for variable-names in the template will be replaced with
8969	// the variable values before being sent to SageMaker.
8970	CsvInputTemplate *string `locationName:"csvInputTemplate" type:"string"`
8971
8972	// The event type name.
8973	EventTypeName *string `locationName:"eventTypeName" min:"1" type:"string"`
8974
8975	// The format of the model input configuration. The format differs depending
8976	// on if it is passed through to SageMaker or constructed by Amazon Fraud Detector.
8977	Format *string `locationName:"format" type:"string" enum:"ModelInputDataFormat"`
8978
8979	// Template for constructing the JSON input-data sent to SageMaker. At event-evaluation,
8980	// the placeholders for variable names in the template will be replaced with
8981	// the variable values before being sent to SageMaker.
8982	JsonInputTemplate *string `locationName:"jsonInputTemplate" type:"string"`
8983
8984	// The event variables.
8985	//
8986	// UseEventVariables is a required field
8987	UseEventVariables *bool `locationName:"useEventVariables" type:"boolean" required:"true"`
8988}
8989
8990// String returns the string representation
8991func (s ModelInputConfiguration) String() string {
8992	return awsutil.Prettify(s)
8993}
8994
8995// GoString returns the string representation
8996func (s ModelInputConfiguration) GoString() string {
8997	return s.String()
8998}
8999
9000// Validate inspects the fields of the type to determine if they are valid.
9001func (s *ModelInputConfiguration) Validate() error {
9002	invalidParams := request.ErrInvalidParams{Context: "ModelInputConfiguration"}
9003	if s.EventTypeName != nil && len(*s.EventTypeName) < 1 {
9004		invalidParams.Add(request.NewErrParamMinLen("EventTypeName", 1))
9005	}
9006	if s.UseEventVariables == nil {
9007		invalidParams.Add(request.NewErrParamRequired("UseEventVariables"))
9008	}
9009
9010	if invalidParams.Len() > 0 {
9011		return invalidParams
9012	}
9013	return nil
9014}
9015
9016// SetCsvInputTemplate sets the CsvInputTemplate field's value.
9017func (s *ModelInputConfiguration) SetCsvInputTemplate(v string) *ModelInputConfiguration {
9018	s.CsvInputTemplate = &v
9019	return s
9020}
9021
9022// SetEventTypeName sets the EventTypeName field's value.
9023func (s *ModelInputConfiguration) SetEventTypeName(v string) *ModelInputConfiguration {
9024	s.EventTypeName = &v
9025	return s
9026}
9027
9028// SetFormat sets the Format field's value.
9029func (s *ModelInputConfiguration) SetFormat(v string) *ModelInputConfiguration {
9030	s.Format = &v
9031	return s
9032}
9033
9034// SetJsonInputTemplate sets the JsonInputTemplate field's value.
9035func (s *ModelInputConfiguration) SetJsonInputTemplate(v string) *ModelInputConfiguration {
9036	s.JsonInputTemplate = &v
9037	return s
9038}
9039
9040// SetUseEventVariables sets the UseEventVariables field's value.
9041func (s *ModelInputConfiguration) SetUseEventVariables(v bool) *ModelInputConfiguration {
9042	s.UseEventVariables = &v
9043	return s
9044}
9045
9046// Provides the Amazon Sagemaker model output configuration.
9047type ModelOutputConfiguration struct {
9048	_ struct{} `type:"structure"`
9049
9050	// A map of CSV index values in the SageMaker response to the Amazon Fraud Detector
9051	// variables.
9052	CsvIndexToVariableMap map[string]*string `locationName:"csvIndexToVariableMap" type:"map"`
9053
9054	// The format of the model output configuration.
9055	//
9056	// Format is a required field
9057	Format *string `locationName:"format" type:"string" required:"true" enum:"ModelOutputDataFormat"`
9058
9059	// A map of JSON keys in response from SageMaker to the Amazon Fraud Detector
9060	// variables.
9061	JsonKeyToVariableMap map[string]*string `locationName:"jsonKeyToVariableMap" type:"map"`
9062}
9063
9064// String returns the string representation
9065func (s ModelOutputConfiguration) String() string {
9066	return awsutil.Prettify(s)
9067}
9068
9069// GoString returns the string representation
9070func (s ModelOutputConfiguration) GoString() string {
9071	return s.String()
9072}
9073
9074// Validate inspects the fields of the type to determine if they are valid.
9075func (s *ModelOutputConfiguration) Validate() error {
9076	invalidParams := request.ErrInvalidParams{Context: "ModelOutputConfiguration"}
9077	if s.Format == nil {
9078		invalidParams.Add(request.NewErrParamRequired("Format"))
9079	}
9080
9081	if invalidParams.Len() > 0 {
9082		return invalidParams
9083	}
9084	return nil
9085}
9086
9087// SetCsvIndexToVariableMap sets the CsvIndexToVariableMap field's value.
9088func (s *ModelOutputConfiguration) SetCsvIndexToVariableMap(v map[string]*string) *ModelOutputConfiguration {
9089	s.CsvIndexToVariableMap = v
9090	return s
9091}
9092
9093// SetFormat sets the Format field's value.
9094func (s *ModelOutputConfiguration) SetFormat(v string) *ModelOutputConfiguration {
9095	s.Format = &v
9096	return s
9097}
9098
9099// SetJsonKeyToVariableMap sets the JsonKeyToVariableMap field's value.
9100func (s *ModelOutputConfiguration) SetJsonKeyToVariableMap(v map[string]*string) *ModelOutputConfiguration {
9101	s.JsonKeyToVariableMap = v
9102	return s
9103}
9104
9105// The fraud prediction scores.
9106type ModelScores struct {
9107	_ struct{} `type:"structure"`
9108
9109	// The model version.
9110	ModelVersion *ModelVersion `locationName:"modelVersion" type:"structure"`
9111
9112	// The model's fraud prediction scores.
9113	Scores map[string]*float64 `locationName:"scores" type:"map"`
9114}
9115
9116// String returns the string representation
9117func (s ModelScores) String() string {
9118	return awsutil.Prettify(s)
9119}
9120
9121// GoString returns the string representation
9122func (s ModelScores) GoString() string {
9123	return s.String()
9124}
9125
9126// SetModelVersion sets the ModelVersion field's value.
9127func (s *ModelScores) SetModelVersion(v *ModelVersion) *ModelScores {
9128	s.ModelVersion = v
9129	return s
9130}
9131
9132// SetScores sets the Scores field's value.
9133func (s *ModelScores) SetScores(v map[string]*float64) *ModelScores {
9134	s.Scores = v
9135	return s
9136}
9137
9138// The model version.
9139type ModelVersion struct {
9140	_ struct{} `type:"structure"`
9141
9142	// The model version ARN.
9143	Arn *string `locationName:"arn" min:"1" type:"string"`
9144
9145	// The model ID.
9146	//
9147	// ModelId is a required field
9148	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
9149
9150	// The model type.
9151	//
9152	// ModelType is a required field
9153	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
9154
9155	// The model version number.
9156	//
9157	// ModelVersionNumber is a required field
9158	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string" required:"true"`
9159}
9160
9161// String returns the string representation
9162func (s ModelVersion) String() string {
9163	return awsutil.Prettify(s)
9164}
9165
9166// GoString returns the string representation
9167func (s ModelVersion) GoString() string {
9168	return s.String()
9169}
9170
9171// Validate inspects the fields of the type to determine if they are valid.
9172func (s *ModelVersion) Validate() error {
9173	invalidParams := request.ErrInvalidParams{Context: "ModelVersion"}
9174	if s.Arn != nil && len(*s.Arn) < 1 {
9175		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
9176	}
9177	if s.ModelId == nil {
9178		invalidParams.Add(request.NewErrParamRequired("ModelId"))
9179	}
9180	if s.ModelId != nil && len(*s.ModelId) < 1 {
9181		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
9182	}
9183	if s.ModelType == nil {
9184		invalidParams.Add(request.NewErrParamRequired("ModelType"))
9185	}
9186	if s.ModelVersionNumber == nil {
9187		invalidParams.Add(request.NewErrParamRequired("ModelVersionNumber"))
9188	}
9189	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 1 {
9190		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 1))
9191	}
9192
9193	if invalidParams.Len() > 0 {
9194		return invalidParams
9195	}
9196	return nil
9197}
9198
9199// SetArn sets the Arn field's value.
9200func (s *ModelVersion) SetArn(v string) *ModelVersion {
9201	s.Arn = &v
9202	return s
9203}
9204
9205// SetModelId sets the ModelId field's value.
9206func (s *ModelVersion) SetModelId(v string) *ModelVersion {
9207	s.ModelId = &v
9208	return s
9209}
9210
9211// SetModelType sets the ModelType field's value.
9212func (s *ModelVersion) SetModelType(v string) *ModelVersion {
9213	s.ModelType = &v
9214	return s
9215}
9216
9217// SetModelVersionNumber sets the ModelVersionNumber field's value.
9218func (s *ModelVersion) SetModelVersionNumber(v string) *ModelVersion {
9219	s.ModelVersionNumber = &v
9220	return s
9221}
9222
9223// The details of the model version.
9224type ModelVersionDetail struct {
9225	_ struct{} `type:"structure"`
9226
9227	// The model version ARN.
9228	Arn *string `locationName:"arn" min:"1" type:"string"`
9229
9230	// The timestamp when the model was created.
9231	CreatedTime *string `locationName:"createdTime" type:"string"`
9232
9233	// The event details.
9234	ExternalEventsDetail *ExternalEventsDetail `locationName:"externalEventsDetail" type:"structure"`
9235
9236	// The timestamp when the model was last updated.
9237	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
9238
9239	// The model ID.
9240	ModelId *string `locationName:"modelId" min:"1" type:"string"`
9241
9242	// The model type.
9243	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
9244
9245	// The model version number.
9246	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"3" type:"string"`
9247
9248	// The status of the model version.
9249	Status *string `locationName:"status" type:"string"`
9250
9251	// The training data schema.
9252	TrainingDataSchema *TrainingDataSchema `locationName:"trainingDataSchema" type:"structure"`
9253
9254	// The model version training data source.
9255	TrainingDataSource *string `locationName:"trainingDataSource" type:"string" enum:"TrainingDataSourceEnum"`
9256
9257	// The training results.
9258	TrainingResult *TrainingResult `locationName:"trainingResult" type:"structure"`
9259}
9260
9261// String returns the string representation
9262func (s ModelVersionDetail) String() string {
9263	return awsutil.Prettify(s)
9264}
9265
9266// GoString returns the string representation
9267func (s ModelVersionDetail) GoString() string {
9268	return s.String()
9269}
9270
9271// SetArn sets the Arn field's value.
9272func (s *ModelVersionDetail) SetArn(v string) *ModelVersionDetail {
9273	s.Arn = &v
9274	return s
9275}
9276
9277// SetCreatedTime sets the CreatedTime field's value.
9278func (s *ModelVersionDetail) SetCreatedTime(v string) *ModelVersionDetail {
9279	s.CreatedTime = &v
9280	return s
9281}
9282
9283// SetExternalEventsDetail sets the ExternalEventsDetail field's value.
9284func (s *ModelVersionDetail) SetExternalEventsDetail(v *ExternalEventsDetail) *ModelVersionDetail {
9285	s.ExternalEventsDetail = v
9286	return s
9287}
9288
9289// SetLastUpdatedTime sets the LastUpdatedTime field's value.
9290func (s *ModelVersionDetail) SetLastUpdatedTime(v string) *ModelVersionDetail {
9291	s.LastUpdatedTime = &v
9292	return s
9293}
9294
9295// SetModelId sets the ModelId field's value.
9296func (s *ModelVersionDetail) SetModelId(v string) *ModelVersionDetail {
9297	s.ModelId = &v
9298	return s
9299}
9300
9301// SetModelType sets the ModelType field's value.
9302func (s *ModelVersionDetail) SetModelType(v string) *ModelVersionDetail {
9303	s.ModelType = &v
9304	return s
9305}
9306
9307// SetModelVersionNumber sets the ModelVersionNumber field's value.
9308func (s *ModelVersionDetail) SetModelVersionNumber(v string) *ModelVersionDetail {
9309	s.ModelVersionNumber = &v
9310	return s
9311}
9312
9313// SetStatus sets the Status field's value.
9314func (s *ModelVersionDetail) SetStatus(v string) *ModelVersionDetail {
9315	s.Status = &v
9316	return s
9317}
9318
9319// SetTrainingDataSchema sets the TrainingDataSchema field's value.
9320func (s *ModelVersionDetail) SetTrainingDataSchema(v *TrainingDataSchema) *ModelVersionDetail {
9321	s.TrainingDataSchema = v
9322	return s
9323}
9324
9325// SetTrainingDataSource sets the TrainingDataSource field's value.
9326func (s *ModelVersionDetail) SetTrainingDataSource(v string) *ModelVersionDetail {
9327	s.TrainingDataSource = &v
9328	return s
9329}
9330
9331// SetTrainingResult sets the TrainingResult field's value.
9332func (s *ModelVersionDetail) SetTrainingResult(v *TrainingResult) *ModelVersionDetail {
9333	s.TrainingResult = v
9334	return s
9335}
9336
9337// The outcome.
9338type Outcome struct {
9339	_ struct{} `type:"structure"`
9340
9341	// The outcome ARN.
9342	Arn *string `locationName:"arn" min:"1" type:"string"`
9343
9344	// The timestamp when the outcome was created.
9345	CreatedTime *string `locationName:"createdTime" type:"string"`
9346
9347	// The outcome description.
9348	Description *string `locationName:"description" min:"1" type:"string"`
9349
9350	// The timestamp when the outcome was last updated.
9351	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
9352
9353	// The outcome name.
9354	Name *string `locationName:"name" min:"1" type:"string"`
9355}
9356
9357// String returns the string representation
9358func (s Outcome) String() string {
9359	return awsutil.Prettify(s)
9360}
9361
9362// GoString returns the string representation
9363func (s Outcome) GoString() string {
9364	return s.String()
9365}
9366
9367// SetArn sets the Arn field's value.
9368func (s *Outcome) SetArn(v string) *Outcome {
9369	s.Arn = &v
9370	return s
9371}
9372
9373// SetCreatedTime sets the CreatedTime field's value.
9374func (s *Outcome) SetCreatedTime(v string) *Outcome {
9375	s.CreatedTime = &v
9376	return s
9377}
9378
9379// SetDescription sets the Description field's value.
9380func (s *Outcome) SetDescription(v string) *Outcome {
9381	s.Description = &v
9382	return s
9383}
9384
9385// SetLastUpdatedTime sets the LastUpdatedTime field's value.
9386func (s *Outcome) SetLastUpdatedTime(v string) *Outcome {
9387	s.LastUpdatedTime = &v
9388	return s
9389}
9390
9391// SetName sets the Name field's value.
9392func (s *Outcome) SetName(v string) *Outcome {
9393	s.Name = &v
9394	return s
9395}
9396
9397type PutDetectorInput struct {
9398	_ struct{} `type:"structure"`
9399
9400	// The description of the detector.
9401	Description *string `locationName:"description" min:"1" type:"string"`
9402
9403	// The detector ID.
9404	//
9405	// DetectorId is a required field
9406	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
9407
9408	// The name of the event type.
9409	//
9410	// EventTypeName is a required field
9411	EventTypeName *string `locationName:"eventTypeName" min:"1" type:"string" required:"true"`
9412
9413	// A collection of key and value pairs.
9414	Tags []*Tag `locationName:"tags" type:"list"`
9415}
9416
9417// String returns the string representation
9418func (s PutDetectorInput) String() string {
9419	return awsutil.Prettify(s)
9420}
9421
9422// GoString returns the string representation
9423func (s PutDetectorInput) GoString() string {
9424	return s.String()
9425}
9426
9427// Validate inspects the fields of the type to determine if they are valid.
9428func (s *PutDetectorInput) Validate() error {
9429	invalidParams := request.ErrInvalidParams{Context: "PutDetectorInput"}
9430	if s.Description != nil && len(*s.Description) < 1 {
9431		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9432	}
9433	if s.DetectorId == nil {
9434		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9435	}
9436	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9437		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9438	}
9439	if s.EventTypeName == nil {
9440		invalidParams.Add(request.NewErrParamRequired("EventTypeName"))
9441	}
9442	if s.EventTypeName != nil && len(*s.EventTypeName) < 1 {
9443		invalidParams.Add(request.NewErrParamMinLen("EventTypeName", 1))
9444	}
9445	if s.Tags != nil {
9446		for i, v := range s.Tags {
9447			if v == nil {
9448				continue
9449			}
9450			if err := v.Validate(); err != nil {
9451				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9452			}
9453		}
9454	}
9455
9456	if invalidParams.Len() > 0 {
9457		return invalidParams
9458	}
9459	return nil
9460}
9461
9462// SetDescription sets the Description field's value.
9463func (s *PutDetectorInput) SetDescription(v string) *PutDetectorInput {
9464	s.Description = &v
9465	return s
9466}
9467
9468// SetDetectorId sets the DetectorId field's value.
9469func (s *PutDetectorInput) SetDetectorId(v string) *PutDetectorInput {
9470	s.DetectorId = &v
9471	return s
9472}
9473
9474// SetEventTypeName sets the EventTypeName field's value.
9475func (s *PutDetectorInput) SetEventTypeName(v string) *PutDetectorInput {
9476	s.EventTypeName = &v
9477	return s
9478}
9479
9480// SetTags sets the Tags field's value.
9481func (s *PutDetectorInput) SetTags(v []*Tag) *PutDetectorInput {
9482	s.Tags = v
9483	return s
9484}
9485
9486type PutDetectorOutput struct {
9487	_ struct{} `type:"structure"`
9488}
9489
9490// String returns the string representation
9491func (s PutDetectorOutput) String() string {
9492	return awsutil.Prettify(s)
9493}
9494
9495// GoString returns the string representation
9496func (s PutDetectorOutput) GoString() string {
9497	return s.String()
9498}
9499
9500type PutEntityTypeInput struct {
9501	_ struct{} `type:"structure"`
9502
9503	// The description.
9504	Description *string `locationName:"description" min:"1" type:"string"`
9505
9506	// The name of the entity type.
9507	//
9508	// Name is a required field
9509	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9510
9511	// A collection of key and value pairs.
9512	Tags []*Tag `locationName:"tags" type:"list"`
9513}
9514
9515// String returns the string representation
9516func (s PutEntityTypeInput) String() string {
9517	return awsutil.Prettify(s)
9518}
9519
9520// GoString returns the string representation
9521func (s PutEntityTypeInput) GoString() string {
9522	return s.String()
9523}
9524
9525// Validate inspects the fields of the type to determine if they are valid.
9526func (s *PutEntityTypeInput) Validate() error {
9527	invalidParams := request.ErrInvalidParams{Context: "PutEntityTypeInput"}
9528	if s.Description != nil && len(*s.Description) < 1 {
9529		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9530	}
9531	if s.Name == nil {
9532		invalidParams.Add(request.NewErrParamRequired("Name"))
9533	}
9534	if s.Name != nil && len(*s.Name) < 1 {
9535		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9536	}
9537	if s.Tags != nil {
9538		for i, v := range s.Tags {
9539			if v == nil {
9540				continue
9541			}
9542			if err := v.Validate(); err != nil {
9543				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9544			}
9545		}
9546	}
9547
9548	if invalidParams.Len() > 0 {
9549		return invalidParams
9550	}
9551	return nil
9552}
9553
9554// SetDescription sets the Description field's value.
9555func (s *PutEntityTypeInput) SetDescription(v string) *PutEntityTypeInput {
9556	s.Description = &v
9557	return s
9558}
9559
9560// SetName sets the Name field's value.
9561func (s *PutEntityTypeInput) SetName(v string) *PutEntityTypeInput {
9562	s.Name = &v
9563	return s
9564}
9565
9566// SetTags sets the Tags field's value.
9567func (s *PutEntityTypeInput) SetTags(v []*Tag) *PutEntityTypeInput {
9568	s.Tags = v
9569	return s
9570}
9571
9572type PutEntityTypeOutput struct {
9573	_ struct{} `type:"structure"`
9574}
9575
9576// String returns the string representation
9577func (s PutEntityTypeOutput) String() string {
9578	return awsutil.Prettify(s)
9579}
9580
9581// GoString returns the string representation
9582func (s PutEntityTypeOutput) GoString() string {
9583	return s.String()
9584}
9585
9586type PutEventTypeInput struct {
9587	_ struct{} `type:"structure"`
9588
9589	// The description of the event type.
9590	Description *string `locationName:"description" min:"1" type:"string"`
9591
9592	// The entity type for the event type. Example entity types: customer, merchant,
9593	// account.
9594	//
9595	// EntityTypes is a required field
9596	EntityTypes []*string `locationName:"entityTypes" min:"1" type:"list" required:"true"`
9597
9598	// The event type variables.
9599	//
9600	// EventVariables is a required field
9601	EventVariables []*string `locationName:"eventVariables" min:"1" type:"list" required:"true"`
9602
9603	// The event type labels.
9604	Labels []*string `locationName:"labels" type:"list"`
9605
9606	// The name.
9607	//
9608	// Name is a required field
9609	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9610
9611	// A collection of key and value pairs.
9612	Tags []*Tag `locationName:"tags" type:"list"`
9613}
9614
9615// String returns the string representation
9616func (s PutEventTypeInput) String() string {
9617	return awsutil.Prettify(s)
9618}
9619
9620// GoString returns the string representation
9621func (s PutEventTypeInput) GoString() string {
9622	return s.String()
9623}
9624
9625// Validate inspects the fields of the type to determine if they are valid.
9626func (s *PutEventTypeInput) Validate() error {
9627	invalidParams := request.ErrInvalidParams{Context: "PutEventTypeInput"}
9628	if s.Description != nil && len(*s.Description) < 1 {
9629		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9630	}
9631	if s.EntityTypes == nil {
9632		invalidParams.Add(request.NewErrParamRequired("EntityTypes"))
9633	}
9634	if s.EntityTypes != nil && len(s.EntityTypes) < 1 {
9635		invalidParams.Add(request.NewErrParamMinLen("EntityTypes", 1))
9636	}
9637	if s.EventVariables == nil {
9638		invalidParams.Add(request.NewErrParamRequired("EventVariables"))
9639	}
9640	if s.EventVariables != nil && len(s.EventVariables) < 1 {
9641		invalidParams.Add(request.NewErrParamMinLen("EventVariables", 1))
9642	}
9643	if s.Name == nil {
9644		invalidParams.Add(request.NewErrParamRequired("Name"))
9645	}
9646	if s.Name != nil && len(*s.Name) < 1 {
9647		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9648	}
9649	if s.Tags != nil {
9650		for i, v := range s.Tags {
9651			if v == nil {
9652				continue
9653			}
9654			if err := v.Validate(); err != nil {
9655				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9656			}
9657		}
9658	}
9659
9660	if invalidParams.Len() > 0 {
9661		return invalidParams
9662	}
9663	return nil
9664}
9665
9666// SetDescription sets the Description field's value.
9667func (s *PutEventTypeInput) SetDescription(v string) *PutEventTypeInput {
9668	s.Description = &v
9669	return s
9670}
9671
9672// SetEntityTypes sets the EntityTypes field's value.
9673func (s *PutEventTypeInput) SetEntityTypes(v []*string) *PutEventTypeInput {
9674	s.EntityTypes = v
9675	return s
9676}
9677
9678// SetEventVariables sets the EventVariables field's value.
9679func (s *PutEventTypeInput) SetEventVariables(v []*string) *PutEventTypeInput {
9680	s.EventVariables = v
9681	return s
9682}
9683
9684// SetLabels sets the Labels field's value.
9685func (s *PutEventTypeInput) SetLabels(v []*string) *PutEventTypeInput {
9686	s.Labels = v
9687	return s
9688}
9689
9690// SetName sets the Name field's value.
9691func (s *PutEventTypeInput) SetName(v string) *PutEventTypeInput {
9692	s.Name = &v
9693	return s
9694}
9695
9696// SetTags sets the Tags field's value.
9697func (s *PutEventTypeInput) SetTags(v []*Tag) *PutEventTypeInput {
9698	s.Tags = v
9699	return s
9700}
9701
9702type PutEventTypeOutput struct {
9703	_ struct{} `type:"structure"`
9704}
9705
9706// String returns the string representation
9707func (s PutEventTypeOutput) String() string {
9708	return awsutil.Prettify(s)
9709}
9710
9711// GoString returns the string representation
9712func (s PutEventTypeOutput) GoString() string {
9713	return s.String()
9714}
9715
9716type PutExternalModelInput struct {
9717	_ struct{} `type:"structure"`
9718
9719	// The model endpoint input configuration.
9720	//
9721	// InputConfiguration is a required field
9722	InputConfiguration *ModelInputConfiguration `locationName:"inputConfiguration" type:"structure" required:"true"`
9723
9724	// The IAM role used to invoke the model endpoint.
9725	//
9726	// InvokeModelEndpointRoleArn is a required field
9727	InvokeModelEndpointRoleArn *string `locationName:"invokeModelEndpointRoleArn" type:"string" required:"true"`
9728
9729	// The model endpoints name.
9730	//
9731	// ModelEndpoint is a required field
9732	ModelEndpoint *string `locationName:"modelEndpoint" min:"1" type:"string" required:"true"`
9733
9734	// The model endpoint’s status in Amazon Fraud Detector.
9735	//
9736	// ModelEndpointStatus is a required field
9737	ModelEndpointStatus *string `locationName:"modelEndpointStatus" type:"string" required:"true" enum:"ModelEndpointStatus"`
9738
9739	// The source of the model.
9740	//
9741	// ModelSource is a required field
9742	ModelSource *string `locationName:"modelSource" type:"string" required:"true" enum:"ModelSource"`
9743
9744	// The model endpoint output configuration.
9745	//
9746	// OutputConfiguration is a required field
9747	OutputConfiguration *ModelOutputConfiguration `locationName:"outputConfiguration" type:"structure" required:"true"`
9748
9749	// A collection of key and value pairs.
9750	Tags []*Tag `locationName:"tags" type:"list"`
9751}
9752
9753// String returns the string representation
9754func (s PutExternalModelInput) String() string {
9755	return awsutil.Prettify(s)
9756}
9757
9758// GoString returns the string representation
9759func (s PutExternalModelInput) GoString() string {
9760	return s.String()
9761}
9762
9763// Validate inspects the fields of the type to determine if they are valid.
9764func (s *PutExternalModelInput) Validate() error {
9765	invalidParams := request.ErrInvalidParams{Context: "PutExternalModelInput"}
9766	if s.InputConfiguration == nil {
9767		invalidParams.Add(request.NewErrParamRequired("InputConfiguration"))
9768	}
9769	if s.InvokeModelEndpointRoleArn == nil {
9770		invalidParams.Add(request.NewErrParamRequired("InvokeModelEndpointRoleArn"))
9771	}
9772	if s.ModelEndpoint == nil {
9773		invalidParams.Add(request.NewErrParamRequired("ModelEndpoint"))
9774	}
9775	if s.ModelEndpoint != nil && len(*s.ModelEndpoint) < 1 {
9776		invalidParams.Add(request.NewErrParamMinLen("ModelEndpoint", 1))
9777	}
9778	if s.ModelEndpointStatus == nil {
9779		invalidParams.Add(request.NewErrParamRequired("ModelEndpointStatus"))
9780	}
9781	if s.ModelSource == nil {
9782		invalidParams.Add(request.NewErrParamRequired("ModelSource"))
9783	}
9784	if s.OutputConfiguration == nil {
9785		invalidParams.Add(request.NewErrParamRequired("OutputConfiguration"))
9786	}
9787	if s.InputConfiguration != nil {
9788		if err := s.InputConfiguration.Validate(); err != nil {
9789			invalidParams.AddNested("InputConfiguration", err.(request.ErrInvalidParams))
9790		}
9791	}
9792	if s.OutputConfiguration != nil {
9793		if err := s.OutputConfiguration.Validate(); err != nil {
9794			invalidParams.AddNested("OutputConfiguration", err.(request.ErrInvalidParams))
9795		}
9796	}
9797	if s.Tags != nil {
9798		for i, v := range s.Tags {
9799			if v == nil {
9800				continue
9801			}
9802			if err := v.Validate(); err != nil {
9803				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9804			}
9805		}
9806	}
9807
9808	if invalidParams.Len() > 0 {
9809		return invalidParams
9810	}
9811	return nil
9812}
9813
9814// SetInputConfiguration sets the InputConfiguration field's value.
9815func (s *PutExternalModelInput) SetInputConfiguration(v *ModelInputConfiguration) *PutExternalModelInput {
9816	s.InputConfiguration = v
9817	return s
9818}
9819
9820// SetInvokeModelEndpointRoleArn sets the InvokeModelEndpointRoleArn field's value.
9821func (s *PutExternalModelInput) SetInvokeModelEndpointRoleArn(v string) *PutExternalModelInput {
9822	s.InvokeModelEndpointRoleArn = &v
9823	return s
9824}
9825
9826// SetModelEndpoint sets the ModelEndpoint field's value.
9827func (s *PutExternalModelInput) SetModelEndpoint(v string) *PutExternalModelInput {
9828	s.ModelEndpoint = &v
9829	return s
9830}
9831
9832// SetModelEndpointStatus sets the ModelEndpointStatus field's value.
9833func (s *PutExternalModelInput) SetModelEndpointStatus(v string) *PutExternalModelInput {
9834	s.ModelEndpointStatus = &v
9835	return s
9836}
9837
9838// SetModelSource sets the ModelSource field's value.
9839func (s *PutExternalModelInput) SetModelSource(v string) *PutExternalModelInput {
9840	s.ModelSource = &v
9841	return s
9842}
9843
9844// SetOutputConfiguration sets the OutputConfiguration field's value.
9845func (s *PutExternalModelInput) SetOutputConfiguration(v *ModelOutputConfiguration) *PutExternalModelInput {
9846	s.OutputConfiguration = v
9847	return s
9848}
9849
9850// SetTags sets the Tags field's value.
9851func (s *PutExternalModelInput) SetTags(v []*Tag) *PutExternalModelInput {
9852	s.Tags = v
9853	return s
9854}
9855
9856type PutExternalModelOutput struct {
9857	_ struct{} `type:"structure"`
9858}
9859
9860// String returns the string representation
9861func (s PutExternalModelOutput) String() string {
9862	return awsutil.Prettify(s)
9863}
9864
9865// GoString returns the string representation
9866func (s PutExternalModelOutput) GoString() string {
9867	return s.String()
9868}
9869
9870type PutKMSEncryptionKeyInput struct {
9871	_ struct{} `type:"structure"`
9872
9873	// The KMS encryption key ARN.
9874	//
9875	// KmsEncryptionKeyArn is a required field
9876	KmsEncryptionKeyArn *string `locationName:"kmsEncryptionKeyArn" min:"7" type:"string" required:"true"`
9877}
9878
9879// String returns the string representation
9880func (s PutKMSEncryptionKeyInput) String() string {
9881	return awsutil.Prettify(s)
9882}
9883
9884// GoString returns the string representation
9885func (s PutKMSEncryptionKeyInput) GoString() string {
9886	return s.String()
9887}
9888
9889// Validate inspects the fields of the type to determine if they are valid.
9890func (s *PutKMSEncryptionKeyInput) Validate() error {
9891	invalidParams := request.ErrInvalidParams{Context: "PutKMSEncryptionKeyInput"}
9892	if s.KmsEncryptionKeyArn == nil {
9893		invalidParams.Add(request.NewErrParamRequired("KmsEncryptionKeyArn"))
9894	}
9895	if s.KmsEncryptionKeyArn != nil && len(*s.KmsEncryptionKeyArn) < 7 {
9896		invalidParams.Add(request.NewErrParamMinLen("KmsEncryptionKeyArn", 7))
9897	}
9898
9899	if invalidParams.Len() > 0 {
9900		return invalidParams
9901	}
9902	return nil
9903}
9904
9905// SetKmsEncryptionKeyArn sets the KmsEncryptionKeyArn field's value.
9906func (s *PutKMSEncryptionKeyInput) SetKmsEncryptionKeyArn(v string) *PutKMSEncryptionKeyInput {
9907	s.KmsEncryptionKeyArn = &v
9908	return s
9909}
9910
9911type PutKMSEncryptionKeyOutput struct {
9912	_ struct{} `type:"structure"`
9913}
9914
9915// String returns the string representation
9916func (s PutKMSEncryptionKeyOutput) String() string {
9917	return awsutil.Prettify(s)
9918}
9919
9920// GoString returns the string representation
9921func (s PutKMSEncryptionKeyOutput) GoString() string {
9922	return s.String()
9923}
9924
9925type PutLabelInput struct {
9926	_ struct{} `type:"structure"`
9927
9928	// The label description.
9929	Description *string `locationName:"description" min:"1" type:"string"`
9930
9931	// The label name.
9932	//
9933	// Name is a required field
9934	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9935
9936	Tags []*Tag `locationName:"tags" type:"list"`
9937}
9938
9939// String returns the string representation
9940func (s PutLabelInput) String() string {
9941	return awsutil.Prettify(s)
9942}
9943
9944// GoString returns the string representation
9945func (s PutLabelInput) GoString() string {
9946	return s.String()
9947}
9948
9949// Validate inspects the fields of the type to determine if they are valid.
9950func (s *PutLabelInput) Validate() error {
9951	invalidParams := request.ErrInvalidParams{Context: "PutLabelInput"}
9952	if s.Description != nil && len(*s.Description) < 1 {
9953		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9954	}
9955	if s.Name == nil {
9956		invalidParams.Add(request.NewErrParamRequired("Name"))
9957	}
9958	if s.Name != nil && len(*s.Name) < 1 {
9959		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9960	}
9961	if s.Tags != nil {
9962		for i, v := range s.Tags {
9963			if v == nil {
9964				continue
9965			}
9966			if err := v.Validate(); err != nil {
9967				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9968			}
9969		}
9970	}
9971
9972	if invalidParams.Len() > 0 {
9973		return invalidParams
9974	}
9975	return nil
9976}
9977
9978// SetDescription sets the Description field's value.
9979func (s *PutLabelInput) SetDescription(v string) *PutLabelInput {
9980	s.Description = &v
9981	return s
9982}
9983
9984// SetName sets the Name field's value.
9985func (s *PutLabelInput) SetName(v string) *PutLabelInput {
9986	s.Name = &v
9987	return s
9988}
9989
9990// SetTags sets the Tags field's value.
9991func (s *PutLabelInput) SetTags(v []*Tag) *PutLabelInput {
9992	s.Tags = v
9993	return s
9994}
9995
9996type PutLabelOutput struct {
9997	_ struct{} `type:"structure"`
9998}
9999
10000// String returns the string representation
10001func (s PutLabelOutput) String() string {
10002	return awsutil.Prettify(s)
10003}
10004
10005// GoString returns the string representation
10006func (s PutLabelOutput) GoString() string {
10007	return s.String()
10008}
10009
10010type PutOutcomeInput struct {
10011	_ struct{} `type:"structure"`
10012
10013	// The outcome description.
10014	Description *string `locationName:"description" min:"1" type:"string"`
10015
10016	// The name of the outcome.
10017	//
10018	// Name is a required field
10019	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
10020
10021	// A collection of key and value pairs.
10022	Tags []*Tag `locationName:"tags" type:"list"`
10023}
10024
10025// String returns the string representation
10026func (s PutOutcomeInput) String() string {
10027	return awsutil.Prettify(s)
10028}
10029
10030// GoString returns the string representation
10031func (s PutOutcomeInput) GoString() string {
10032	return s.String()
10033}
10034
10035// Validate inspects the fields of the type to determine if they are valid.
10036func (s *PutOutcomeInput) Validate() error {
10037	invalidParams := request.ErrInvalidParams{Context: "PutOutcomeInput"}
10038	if s.Description != nil && len(*s.Description) < 1 {
10039		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
10040	}
10041	if s.Name == nil {
10042		invalidParams.Add(request.NewErrParamRequired("Name"))
10043	}
10044	if s.Name != nil && len(*s.Name) < 1 {
10045		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10046	}
10047	if s.Tags != nil {
10048		for i, v := range s.Tags {
10049			if v == nil {
10050				continue
10051			}
10052			if err := v.Validate(); err != nil {
10053				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10054			}
10055		}
10056	}
10057
10058	if invalidParams.Len() > 0 {
10059		return invalidParams
10060	}
10061	return nil
10062}
10063
10064// SetDescription sets the Description field's value.
10065func (s *PutOutcomeInput) SetDescription(v string) *PutOutcomeInput {
10066	s.Description = &v
10067	return s
10068}
10069
10070// SetName sets the Name field's value.
10071func (s *PutOutcomeInput) SetName(v string) *PutOutcomeInput {
10072	s.Name = &v
10073	return s
10074}
10075
10076// SetTags sets the Tags field's value.
10077func (s *PutOutcomeInput) SetTags(v []*Tag) *PutOutcomeInput {
10078	s.Tags = v
10079	return s
10080}
10081
10082type PutOutcomeOutput struct {
10083	_ struct{} `type:"structure"`
10084}
10085
10086// String returns the string representation
10087func (s PutOutcomeOutput) String() string {
10088	return awsutil.Prettify(s)
10089}
10090
10091// GoString returns the string representation
10092func (s PutOutcomeOutput) GoString() string {
10093	return s.String()
10094}
10095
10096// An exception indicating the specified resource was not found.
10097type ResourceNotFoundException struct {
10098	_            struct{}                  `type:"structure"`
10099	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10100
10101	Message_ *string `locationName:"message" type:"string"`
10102}
10103
10104// String returns the string representation
10105func (s ResourceNotFoundException) String() string {
10106	return awsutil.Prettify(s)
10107}
10108
10109// GoString returns the string representation
10110func (s ResourceNotFoundException) GoString() string {
10111	return s.String()
10112}
10113
10114func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10115	return &ResourceNotFoundException{
10116		RespMetadata: v,
10117	}
10118}
10119
10120// Code returns the exception type name.
10121func (s *ResourceNotFoundException) Code() string {
10122	return "ResourceNotFoundException"
10123}
10124
10125// Message returns the exception's message.
10126func (s *ResourceNotFoundException) Message() string {
10127	if s.Message_ != nil {
10128		return *s.Message_
10129	}
10130	return ""
10131}
10132
10133// OrigErr always returns nil, satisfies awserr.Error interface.
10134func (s *ResourceNotFoundException) OrigErr() error {
10135	return nil
10136}
10137
10138func (s *ResourceNotFoundException) Error() string {
10139	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10140}
10141
10142// Status code returns the HTTP status code for the request's response error.
10143func (s *ResourceNotFoundException) StatusCode() int {
10144	return s.RespMetadata.StatusCode
10145}
10146
10147// RequestID returns the service's response RequestID for request.
10148func (s *ResourceNotFoundException) RequestID() string {
10149	return s.RespMetadata.RequestID
10150}
10151
10152// A rule.
10153type Rule struct {
10154	_ struct{} `type:"structure"`
10155
10156	// The detector for which the rule is associated.
10157	//
10158	// DetectorId is a required field
10159	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
10160
10161	// The rule ID.
10162	//
10163	// RuleId is a required field
10164	RuleId *string `locationName:"ruleId" min:"1" type:"string" required:"true"`
10165
10166	// The rule version.
10167	//
10168	// RuleVersion is a required field
10169	RuleVersion *string `locationName:"ruleVersion" min:"1" type:"string" required:"true"`
10170}
10171
10172// String returns the string representation
10173func (s Rule) String() string {
10174	return awsutil.Prettify(s)
10175}
10176
10177// GoString returns the string representation
10178func (s Rule) GoString() string {
10179	return s.String()
10180}
10181
10182// Validate inspects the fields of the type to determine if they are valid.
10183func (s *Rule) Validate() error {
10184	invalidParams := request.ErrInvalidParams{Context: "Rule"}
10185	if s.DetectorId == nil {
10186		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10187	}
10188	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10189		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10190	}
10191	if s.RuleId == nil {
10192		invalidParams.Add(request.NewErrParamRequired("RuleId"))
10193	}
10194	if s.RuleId != nil && len(*s.RuleId) < 1 {
10195		invalidParams.Add(request.NewErrParamMinLen("RuleId", 1))
10196	}
10197	if s.RuleVersion == nil {
10198		invalidParams.Add(request.NewErrParamRequired("RuleVersion"))
10199	}
10200	if s.RuleVersion != nil && len(*s.RuleVersion) < 1 {
10201		invalidParams.Add(request.NewErrParamMinLen("RuleVersion", 1))
10202	}
10203
10204	if invalidParams.Len() > 0 {
10205		return invalidParams
10206	}
10207	return nil
10208}
10209
10210// SetDetectorId sets the DetectorId field's value.
10211func (s *Rule) SetDetectorId(v string) *Rule {
10212	s.DetectorId = &v
10213	return s
10214}
10215
10216// SetRuleId sets the RuleId field's value.
10217func (s *Rule) SetRuleId(v string) *Rule {
10218	s.RuleId = &v
10219	return s
10220}
10221
10222// SetRuleVersion sets the RuleVersion field's value.
10223func (s *Rule) SetRuleVersion(v string) *Rule {
10224	s.RuleVersion = &v
10225	return s
10226}
10227
10228// The details of the rule.
10229type RuleDetail struct {
10230	_ struct{} `type:"structure"`
10231
10232	// The rule ARN.
10233	Arn *string `locationName:"arn" min:"1" type:"string"`
10234
10235	// The timestamp of when the rule was created.
10236	CreatedTime *string `locationName:"createdTime" type:"string"`
10237
10238	// The rule description.
10239	Description *string `locationName:"description" min:"1" type:"string"`
10240
10241	// The detector for which the rule is associated.
10242	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
10243
10244	// The rule expression.
10245	Expression *string `locationName:"expression" min:"1" type:"string" sensitive:"true"`
10246
10247	// The rule language.
10248	Language *string `locationName:"language" type:"string" enum:"Language"`
10249
10250	// Timestamp of the last time the rule was updated.
10251	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
10252
10253	// The rule outcomes.
10254	Outcomes []*string `locationName:"outcomes" min:"1" type:"list"`
10255
10256	// The rule ID.
10257	RuleId *string `locationName:"ruleId" min:"1" type:"string"`
10258
10259	// The rule version.
10260	RuleVersion *string `locationName:"ruleVersion" min:"1" type:"string"`
10261}
10262
10263// String returns the string representation
10264func (s RuleDetail) String() string {
10265	return awsutil.Prettify(s)
10266}
10267
10268// GoString returns the string representation
10269func (s RuleDetail) GoString() string {
10270	return s.String()
10271}
10272
10273// SetArn sets the Arn field's value.
10274func (s *RuleDetail) SetArn(v string) *RuleDetail {
10275	s.Arn = &v
10276	return s
10277}
10278
10279// SetCreatedTime sets the CreatedTime field's value.
10280func (s *RuleDetail) SetCreatedTime(v string) *RuleDetail {
10281	s.CreatedTime = &v
10282	return s
10283}
10284
10285// SetDescription sets the Description field's value.
10286func (s *RuleDetail) SetDescription(v string) *RuleDetail {
10287	s.Description = &v
10288	return s
10289}
10290
10291// SetDetectorId sets the DetectorId field's value.
10292func (s *RuleDetail) SetDetectorId(v string) *RuleDetail {
10293	s.DetectorId = &v
10294	return s
10295}
10296
10297// SetExpression sets the Expression field's value.
10298func (s *RuleDetail) SetExpression(v string) *RuleDetail {
10299	s.Expression = &v
10300	return s
10301}
10302
10303// SetLanguage sets the Language field's value.
10304func (s *RuleDetail) SetLanguage(v string) *RuleDetail {
10305	s.Language = &v
10306	return s
10307}
10308
10309// SetLastUpdatedTime sets the LastUpdatedTime field's value.
10310func (s *RuleDetail) SetLastUpdatedTime(v string) *RuleDetail {
10311	s.LastUpdatedTime = &v
10312	return s
10313}
10314
10315// SetOutcomes sets the Outcomes field's value.
10316func (s *RuleDetail) SetOutcomes(v []*string) *RuleDetail {
10317	s.Outcomes = v
10318	return s
10319}
10320
10321// SetRuleId sets the RuleId field's value.
10322func (s *RuleDetail) SetRuleId(v string) *RuleDetail {
10323	s.RuleId = &v
10324	return s
10325}
10326
10327// SetRuleVersion sets the RuleVersion field's value.
10328func (s *RuleDetail) SetRuleVersion(v string) *RuleDetail {
10329	s.RuleVersion = &v
10330	return s
10331}
10332
10333// The rule results.
10334type RuleResult struct {
10335	_ struct{} `type:"structure"`
10336
10337	// The outcomes of the matched rule, based on the rule execution mode.
10338	Outcomes []*string `locationName:"outcomes" type:"list"`
10339
10340	// The rule ID that was matched, based on the rule execution mode.
10341	RuleId *string `locationName:"ruleId" type:"string"`
10342}
10343
10344// String returns the string representation
10345func (s RuleResult) String() string {
10346	return awsutil.Prettify(s)
10347}
10348
10349// GoString returns the string representation
10350func (s RuleResult) GoString() string {
10351	return s.String()
10352}
10353
10354// SetOutcomes sets the Outcomes field's value.
10355func (s *RuleResult) SetOutcomes(v []*string) *RuleResult {
10356	s.Outcomes = v
10357	return s
10358}
10359
10360// SetRuleId sets the RuleId field's value.
10361func (s *RuleResult) SetRuleId(v string) *RuleResult {
10362	s.RuleId = &v
10363	return s
10364}
10365
10366// A key and value pair.
10367type Tag struct {
10368	_ struct{} `type:"structure"`
10369
10370	// A tag key.
10371	//
10372	// Key is a required field
10373	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
10374
10375	// A value assigned to a tag key.
10376	//
10377	// Value is a required field
10378	Value *string `locationName:"value" type:"string" required:"true"`
10379}
10380
10381// String returns the string representation
10382func (s Tag) String() string {
10383	return awsutil.Prettify(s)
10384}
10385
10386// GoString returns the string representation
10387func (s Tag) GoString() string {
10388	return s.String()
10389}
10390
10391// Validate inspects the fields of the type to determine if they are valid.
10392func (s *Tag) Validate() error {
10393	invalidParams := request.ErrInvalidParams{Context: "Tag"}
10394	if s.Key == nil {
10395		invalidParams.Add(request.NewErrParamRequired("Key"))
10396	}
10397	if s.Key != nil && len(*s.Key) < 1 {
10398		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10399	}
10400	if s.Value == nil {
10401		invalidParams.Add(request.NewErrParamRequired("Value"))
10402	}
10403
10404	if invalidParams.Len() > 0 {
10405		return invalidParams
10406	}
10407	return nil
10408}
10409
10410// SetKey sets the Key field's value.
10411func (s *Tag) SetKey(v string) *Tag {
10412	s.Key = &v
10413	return s
10414}
10415
10416// SetValue sets the Value field's value.
10417func (s *Tag) SetValue(v string) *Tag {
10418	s.Value = &v
10419	return s
10420}
10421
10422type TagResourceInput struct {
10423	_ struct{} `type:"structure"`
10424
10425	// The resource ARN.
10426	//
10427	// ResourceARN is a required field
10428	ResourceARN *string `locationName:"resourceARN" min:"1" type:"string" required:"true"`
10429
10430	// The tags to assign to the resource.
10431	//
10432	// Tags is a required field
10433	Tags []*Tag `locationName:"tags" type:"list" required:"true"`
10434}
10435
10436// String returns the string representation
10437func (s TagResourceInput) String() string {
10438	return awsutil.Prettify(s)
10439}
10440
10441// GoString returns the string representation
10442func (s TagResourceInput) GoString() string {
10443	return s.String()
10444}
10445
10446// Validate inspects the fields of the type to determine if they are valid.
10447func (s *TagResourceInput) Validate() error {
10448	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10449	if s.ResourceARN == nil {
10450		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
10451	}
10452	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
10453		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
10454	}
10455	if s.Tags == nil {
10456		invalidParams.Add(request.NewErrParamRequired("Tags"))
10457	}
10458	if s.Tags != nil {
10459		for i, v := range s.Tags {
10460			if v == nil {
10461				continue
10462			}
10463			if err := v.Validate(); err != nil {
10464				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10465			}
10466		}
10467	}
10468
10469	if invalidParams.Len() > 0 {
10470		return invalidParams
10471	}
10472	return nil
10473}
10474
10475// SetResourceARN sets the ResourceARN field's value.
10476func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
10477	s.ResourceARN = &v
10478	return s
10479}
10480
10481// SetTags sets the Tags field's value.
10482func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
10483	s.Tags = v
10484	return s
10485}
10486
10487type TagResourceOutput struct {
10488	_ struct{} `type:"structure"`
10489}
10490
10491// String returns the string representation
10492func (s TagResourceOutput) String() string {
10493	return awsutil.Prettify(s)
10494}
10495
10496// GoString returns the string representation
10497func (s TagResourceOutput) GoString() string {
10498	return s.String()
10499}
10500
10501// An exception indicating a throttling error.
10502type ThrottlingException struct {
10503	_            struct{}                  `type:"structure"`
10504	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10505
10506	Message_ *string `locationName:"message" type:"string"`
10507}
10508
10509// String returns the string representation
10510func (s ThrottlingException) String() string {
10511	return awsutil.Prettify(s)
10512}
10513
10514// GoString returns the string representation
10515func (s ThrottlingException) GoString() string {
10516	return s.String()
10517}
10518
10519func newErrorThrottlingException(v protocol.ResponseMetadata) error {
10520	return &ThrottlingException{
10521		RespMetadata: v,
10522	}
10523}
10524
10525// Code returns the exception type name.
10526func (s *ThrottlingException) Code() string {
10527	return "ThrottlingException"
10528}
10529
10530// Message returns the exception's message.
10531func (s *ThrottlingException) Message() string {
10532	if s.Message_ != nil {
10533		return *s.Message_
10534	}
10535	return ""
10536}
10537
10538// OrigErr always returns nil, satisfies awserr.Error interface.
10539func (s *ThrottlingException) OrigErr() error {
10540	return nil
10541}
10542
10543func (s *ThrottlingException) Error() string {
10544	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10545}
10546
10547// Status code returns the HTTP status code for the request's response error.
10548func (s *ThrottlingException) StatusCode() int {
10549	return s.RespMetadata.StatusCode
10550}
10551
10552// RequestID returns the service's response RequestID for request.
10553func (s *ThrottlingException) RequestID() string {
10554	return s.RespMetadata.RequestID
10555}
10556
10557// The training data schema.
10558type TrainingDataSchema struct {
10559	_ struct{} `type:"structure"`
10560
10561	// The label schema.
10562	//
10563	// LabelSchema is a required field
10564	LabelSchema *LabelSchema `locationName:"labelSchema" type:"structure" required:"true"`
10565
10566	// The training data schema variables.
10567	//
10568	// ModelVariables is a required field
10569	ModelVariables []*string `locationName:"modelVariables" type:"list" required:"true"`
10570}
10571
10572// String returns the string representation
10573func (s TrainingDataSchema) String() string {
10574	return awsutil.Prettify(s)
10575}
10576
10577// GoString returns the string representation
10578func (s TrainingDataSchema) GoString() string {
10579	return s.String()
10580}
10581
10582// Validate inspects the fields of the type to determine if they are valid.
10583func (s *TrainingDataSchema) Validate() error {
10584	invalidParams := request.ErrInvalidParams{Context: "TrainingDataSchema"}
10585	if s.LabelSchema == nil {
10586		invalidParams.Add(request.NewErrParamRequired("LabelSchema"))
10587	}
10588	if s.ModelVariables == nil {
10589		invalidParams.Add(request.NewErrParamRequired("ModelVariables"))
10590	}
10591	if s.LabelSchema != nil {
10592		if err := s.LabelSchema.Validate(); err != nil {
10593			invalidParams.AddNested("LabelSchema", err.(request.ErrInvalidParams))
10594		}
10595	}
10596
10597	if invalidParams.Len() > 0 {
10598		return invalidParams
10599	}
10600	return nil
10601}
10602
10603// SetLabelSchema sets the LabelSchema field's value.
10604func (s *TrainingDataSchema) SetLabelSchema(v *LabelSchema) *TrainingDataSchema {
10605	s.LabelSchema = v
10606	return s
10607}
10608
10609// SetModelVariables sets the ModelVariables field's value.
10610func (s *TrainingDataSchema) SetModelVariables(v []*string) *TrainingDataSchema {
10611	s.ModelVariables = v
10612	return s
10613}
10614
10615// The training metric details.
10616type TrainingMetrics struct {
10617	_ struct{} `type:"structure"`
10618
10619	// The area under the curve. This summarizes true positive rate (TPR) and false
10620	// positive rate (FPR) across all possible model score thresholds. A model with
10621	// no predictive power has an AUC of 0.5, whereas a perfect model has a score
10622	// of 1.0.
10623	Auc *float64 `locationName:"auc" type:"float"`
10624
10625	// The data points details.
10626	MetricDataPoints []*MetricDataPoint `locationName:"metricDataPoints" type:"list"`
10627}
10628
10629// String returns the string representation
10630func (s TrainingMetrics) String() string {
10631	return awsutil.Prettify(s)
10632}
10633
10634// GoString returns the string representation
10635func (s TrainingMetrics) GoString() string {
10636	return s.String()
10637}
10638
10639// SetAuc sets the Auc field's value.
10640func (s *TrainingMetrics) SetAuc(v float64) *TrainingMetrics {
10641	s.Auc = &v
10642	return s
10643}
10644
10645// SetMetricDataPoints sets the MetricDataPoints field's value.
10646func (s *TrainingMetrics) SetMetricDataPoints(v []*MetricDataPoint) *TrainingMetrics {
10647	s.MetricDataPoints = v
10648	return s
10649}
10650
10651// The training result details.
10652type TrainingResult struct {
10653	_ struct{} `type:"structure"`
10654
10655	// The validation metrics.
10656	DataValidationMetrics *DataValidationMetrics `locationName:"dataValidationMetrics" type:"structure"`
10657
10658	// The training metric details.
10659	TrainingMetrics *TrainingMetrics `locationName:"trainingMetrics" type:"structure"`
10660}
10661
10662// String returns the string representation
10663func (s TrainingResult) String() string {
10664	return awsutil.Prettify(s)
10665}
10666
10667// GoString returns the string representation
10668func (s TrainingResult) GoString() string {
10669	return s.String()
10670}
10671
10672// SetDataValidationMetrics sets the DataValidationMetrics field's value.
10673func (s *TrainingResult) SetDataValidationMetrics(v *DataValidationMetrics) *TrainingResult {
10674	s.DataValidationMetrics = v
10675	return s
10676}
10677
10678// SetTrainingMetrics sets the TrainingMetrics field's value.
10679func (s *TrainingResult) SetTrainingMetrics(v *TrainingMetrics) *TrainingResult {
10680	s.TrainingMetrics = v
10681	return s
10682}
10683
10684type UntagResourceInput struct {
10685	_ struct{} `type:"structure"`
10686
10687	// The ARN of the resource from which to remove the tag.
10688	//
10689	// ResourceARN is a required field
10690	ResourceARN *string `locationName:"resourceARN" min:"1" type:"string" required:"true"`
10691
10692	// The resource ARN.
10693	//
10694	// TagKeys is a required field
10695	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
10696}
10697
10698// String returns the string representation
10699func (s UntagResourceInput) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s UntagResourceInput) GoString() string {
10705	return s.String()
10706}
10707
10708// Validate inspects the fields of the type to determine if they are valid.
10709func (s *UntagResourceInput) Validate() error {
10710	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10711	if s.ResourceARN == nil {
10712		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
10713	}
10714	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
10715		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
10716	}
10717	if s.TagKeys == nil {
10718		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10719	}
10720
10721	if invalidParams.Len() > 0 {
10722		return invalidParams
10723	}
10724	return nil
10725}
10726
10727// SetResourceARN sets the ResourceARN field's value.
10728func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
10729	s.ResourceARN = &v
10730	return s
10731}
10732
10733// SetTagKeys sets the TagKeys field's value.
10734func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10735	s.TagKeys = v
10736	return s
10737}
10738
10739type UntagResourceOutput struct {
10740	_ struct{} `type:"structure"`
10741}
10742
10743// String returns the string representation
10744func (s UntagResourceOutput) String() string {
10745	return awsutil.Prettify(s)
10746}
10747
10748// GoString returns the string representation
10749func (s UntagResourceOutput) GoString() string {
10750	return s.String()
10751}
10752
10753type UpdateDetectorVersionInput struct {
10754	_ struct{} `type:"structure"`
10755
10756	// The detector version description.
10757	Description *string `locationName:"description" min:"1" type:"string"`
10758
10759	// The parent detector ID for the detector version you want to update.
10760	//
10761	// DetectorId is a required field
10762	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
10763
10764	// The detector version ID.
10765	//
10766	// DetectorVersionId is a required field
10767	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
10768
10769	// The Amazon SageMaker model endpoints to include in the detector version.
10770	//
10771	// ExternalModelEndpoints is a required field
10772	ExternalModelEndpoints []*string `locationName:"externalModelEndpoints" type:"list" required:"true"`
10773
10774	// The model versions to include in the detector version.
10775	ModelVersions []*ModelVersion `locationName:"modelVersions" type:"list"`
10776
10777	// The rule execution mode to add to the detector.
10778	//
10779	// If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially,
10780	// first to last, stopping at the first matched rule. Amazon Fraud dectector
10781	// then provides the outcomes for that single rule.
10782	//
10783	// If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and
10784	// returns the outcomes for all matched rules. You can define and edit the rule
10785	// mode at the detector version level, when it is in draft status.
10786	//
10787	// The default behavior is FIRST_MATCHED.
10788	RuleExecutionMode *string `locationName:"ruleExecutionMode" type:"string" enum:"RuleExecutionMode"`
10789
10790	// The rules to include in the detector version.
10791	//
10792	// Rules is a required field
10793	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
10794}
10795
10796// String returns the string representation
10797func (s UpdateDetectorVersionInput) String() string {
10798	return awsutil.Prettify(s)
10799}
10800
10801// GoString returns the string representation
10802func (s UpdateDetectorVersionInput) GoString() string {
10803	return s.String()
10804}
10805
10806// Validate inspects the fields of the type to determine if they are valid.
10807func (s *UpdateDetectorVersionInput) Validate() error {
10808	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorVersionInput"}
10809	if s.Description != nil && len(*s.Description) < 1 {
10810		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
10811	}
10812	if s.DetectorId == nil {
10813		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10814	}
10815	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10816		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10817	}
10818	if s.DetectorVersionId == nil {
10819		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
10820	}
10821	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
10822		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
10823	}
10824	if s.ExternalModelEndpoints == nil {
10825		invalidParams.Add(request.NewErrParamRequired("ExternalModelEndpoints"))
10826	}
10827	if s.Rules == nil {
10828		invalidParams.Add(request.NewErrParamRequired("Rules"))
10829	}
10830	if s.ModelVersions != nil {
10831		for i, v := range s.ModelVersions {
10832			if v == nil {
10833				continue
10834			}
10835			if err := v.Validate(); err != nil {
10836				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ModelVersions", i), err.(request.ErrInvalidParams))
10837			}
10838		}
10839	}
10840	if s.Rules != nil {
10841		for i, v := range s.Rules {
10842			if v == nil {
10843				continue
10844			}
10845			if err := v.Validate(); err != nil {
10846				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
10847			}
10848		}
10849	}
10850
10851	if invalidParams.Len() > 0 {
10852		return invalidParams
10853	}
10854	return nil
10855}
10856
10857// SetDescription sets the Description field's value.
10858func (s *UpdateDetectorVersionInput) SetDescription(v string) *UpdateDetectorVersionInput {
10859	s.Description = &v
10860	return s
10861}
10862
10863// SetDetectorId sets the DetectorId field's value.
10864func (s *UpdateDetectorVersionInput) SetDetectorId(v string) *UpdateDetectorVersionInput {
10865	s.DetectorId = &v
10866	return s
10867}
10868
10869// SetDetectorVersionId sets the DetectorVersionId field's value.
10870func (s *UpdateDetectorVersionInput) SetDetectorVersionId(v string) *UpdateDetectorVersionInput {
10871	s.DetectorVersionId = &v
10872	return s
10873}
10874
10875// SetExternalModelEndpoints sets the ExternalModelEndpoints field's value.
10876func (s *UpdateDetectorVersionInput) SetExternalModelEndpoints(v []*string) *UpdateDetectorVersionInput {
10877	s.ExternalModelEndpoints = v
10878	return s
10879}
10880
10881// SetModelVersions sets the ModelVersions field's value.
10882func (s *UpdateDetectorVersionInput) SetModelVersions(v []*ModelVersion) *UpdateDetectorVersionInput {
10883	s.ModelVersions = v
10884	return s
10885}
10886
10887// SetRuleExecutionMode sets the RuleExecutionMode field's value.
10888func (s *UpdateDetectorVersionInput) SetRuleExecutionMode(v string) *UpdateDetectorVersionInput {
10889	s.RuleExecutionMode = &v
10890	return s
10891}
10892
10893// SetRules sets the Rules field's value.
10894func (s *UpdateDetectorVersionInput) SetRules(v []*Rule) *UpdateDetectorVersionInput {
10895	s.Rules = v
10896	return s
10897}
10898
10899type UpdateDetectorVersionMetadataInput struct {
10900	_ struct{} `type:"structure"`
10901
10902	// The description.
10903	//
10904	// Description is a required field
10905	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
10906
10907	// The detector ID.
10908	//
10909	// DetectorId is a required field
10910	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
10911
10912	// The detector version ID.
10913	//
10914	// DetectorVersionId is a required field
10915	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
10916}
10917
10918// String returns the string representation
10919func (s UpdateDetectorVersionMetadataInput) String() string {
10920	return awsutil.Prettify(s)
10921}
10922
10923// GoString returns the string representation
10924func (s UpdateDetectorVersionMetadataInput) GoString() string {
10925	return s.String()
10926}
10927
10928// Validate inspects the fields of the type to determine if they are valid.
10929func (s *UpdateDetectorVersionMetadataInput) Validate() error {
10930	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorVersionMetadataInput"}
10931	if s.Description == nil {
10932		invalidParams.Add(request.NewErrParamRequired("Description"))
10933	}
10934	if s.Description != nil && len(*s.Description) < 1 {
10935		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
10936	}
10937	if s.DetectorId == nil {
10938		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10939	}
10940	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10941		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10942	}
10943	if s.DetectorVersionId == nil {
10944		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
10945	}
10946	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
10947		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
10948	}
10949
10950	if invalidParams.Len() > 0 {
10951		return invalidParams
10952	}
10953	return nil
10954}
10955
10956// SetDescription sets the Description field's value.
10957func (s *UpdateDetectorVersionMetadataInput) SetDescription(v string) *UpdateDetectorVersionMetadataInput {
10958	s.Description = &v
10959	return s
10960}
10961
10962// SetDetectorId sets the DetectorId field's value.
10963func (s *UpdateDetectorVersionMetadataInput) SetDetectorId(v string) *UpdateDetectorVersionMetadataInput {
10964	s.DetectorId = &v
10965	return s
10966}
10967
10968// SetDetectorVersionId sets the DetectorVersionId field's value.
10969func (s *UpdateDetectorVersionMetadataInput) SetDetectorVersionId(v string) *UpdateDetectorVersionMetadataInput {
10970	s.DetectorVersionId = &v
10971	return s
10972}
10973
10974type UpdateDetectorVersionMetadataOutput struct {
10975	_ struct{} `type:"structure"`
10976}
10977
10978// String returns the string representation
10979func (s UpdateDetectorVersionMetadataOutput) String() string {
10980	return awsutil.Prettify(s)
10981}
10982
10983// GoString returns the string representation
10984func (s UpdateDetectorVersionMetadataOutput) GoString() string {
10985	return s.String()
10986}
10987
10988type UpdateDetectorVersionOutput struct {
10989	_ struct{} `type:"structure"`
10990}
10991
10992// String returns the string representation
10993func (s UpdateDetectorVersionOutput) String() string {
10994	return awsutil.Prettify(s)
10995}
10996
10997// GoString returns the string representation
10998func (s UpdateDetectorVersionOutput) GoString() string {
10999	return s.String()
11000}
11001
11002type UpdateDetectorVersionStatusInput struct {
11003	_ struct{} `type:"structure"`
11004
11005	// The detector ID.
11006	//
11007	// DetectorId is a required field
11008	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
11009
11010	// The detector version ID.
11011	//
11012	// DetectorVersionId is a required field
11013	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
11014
11015	// The new status.
11016	//
11017	// Status is a required field
11018	Status *string `locationName:"status" type:"string" required:"true" enum:"DetectorVersionStatus"`
11019}
11020
11021// String returns the string representation
11022func (s UpdateDetectorVersionStatusInput) String() string {
11023	return awsutil.Prettify(s)
11024}
11025
11026// GoString returns the string representation
11027func (s UpdateDetectorVersionStatusInput) GoString() string {
11028	return s.String()
11029}
11030
11031// Validate inspects the fields of the type to determine if they are valid.
11032func (s *UpdateDetectorVersionStatusInput) Validate() error {
11033	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorVersionStatusInput"}
11034	if s.DetectorId == nil {
11035		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
11036	}
11037	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
11038		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
11039	}
11040	if s.DetectorVersionId == nil {
11041		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
11042	}
11043	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
11044		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
11045	}
11046	if s.Status == nil {
11047		invalidParams.Add(request.NewErrParamRequired("Status"))
11048	}
11049
11050	if invalidParams.Len() > 0 {
11051		return invalidParams
11052	}
11053	return nil
11054}
11055
11056// SetDetectorId sets the DetectorId field's value.
11057func (s *UpdateDetectorVersionStatusInput) SetDetectorId(v string) *UpdateDetectorVersionStatusInput {
11058	s.DetectorId = &v
11059	return s
11060}
11061
11062// SetDetectorVersionId sets the DetectorVersionId field's value.
11063func (s *UpdateDetectorVersionStatusInput) SetDetectorVersionId(v string) *UpdateDetectorVersionStatusInput {
11064	s.DetectorVersionId = &v
11065	return s
11066}
11067
11068// SetStatus sets the Status field's value.
11069func (s *UpdateDetectorVersionStatusInput) SetStatus(v string) *UpdateDetectorVersionStatusInput {
11070	s.Status = &v
11071	return s
11072}
11073
11074type UpdateDetectorVersionStatusOutput struct {
11075	_ struct{} `type:"structure"`
11076}
11077
11078// String returns the string representation
11079func (s UpdateDetectorVersionStatusOutput) String() string {
11080	return awsutil.Prettify(s)
11081}
11082
11083// GoString returns the string representation
11084func (s UpdateDetectorVersionStatusOutput) GoString() string {
11085	return s.String()
11086}
11087
11088type UpdateModelInput struct {
11089	_ struct{} `type:"structure"`
11090
11091	// The new model description.
11092	Description *string `locationName:"description" min:"1" type:"string"`
11093
11094	// The model ID.
11095	//
11096	// ModelId is a required field
11097	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
11098
11099	// The model type.
11100	//
11101	// ModelType is a required field
11102	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
11103}
11104
11105// String returns the string representation
11106func (s UpdateModelInput) String() string {
11107	return awsutil.Prettify(s)
11108}
11109
11110// GoString returns the string representation
11111func (s UpdateModelInput) GoString() string {
11112	return s.String()
11113}
11114
11115// Validate inspects the fields of the type to determine if they are valid.
11116func (s *UpdateModelInput) Validate() error {
11117	invalidParams := request.ErrInvalidParams{Context: "UpdateModelInput"}
11118	if s.Description != nil && len(*s.Description) < 1 {
11119		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
11120	}
11121	if s.ModelId == nil {
11122		invalidParams.Add(request.NewErrParamRequired("ModelId"))
11123	}
11124	if s.ModelId != nil && len(*s.ModelId) < 1 {
11125		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
11126	}
11127	if s.ModelType == nil {
11128		invalidParams.Add(request.NewErrParamRequired("ModelType"))
11129	}
11130
11131	if invalidParams.Len() > 0 {
11132		return invalidParams
11133	}
11134	return nil
11135}
11136
11137// SetDescription sets the Description field's value.
11138func (s *UpdateModelInput) SetDescription(v string) *UpdateModelInput {
11139	s.Description = &v
11140	return s
11141}
11142
11143// SetModelId sets the ModelId field's value.
11144func (s *UpdateModelInput) SetModelId(v string) *UpdateModelInput {
11145	s.ModelId = &v
11146	return s
11147}
11148
11149// SetModelType sets the ModelType field's value.
11150func (s *UpdateModelInput) SetModelType(v string) *UpdateModelInput {
11151	s.ModelType = &v
11152	return s
11153}
11154
11155type UpdateModelOutput struct {
11156	_ struct{} `type:"structure"`
11157}
11158
11159// String returns the string representation
11160func (s UpdateModelOutput) String() string {
11161	return awsutil.Prettify(s)
11162}
11163
11164// GoString returns the string representation
11165func (s UpdateModelOutput) GoString() string {
11166	return s.String()
11167}
11168
11169type UpdateModelVersionInput struct {
11170	_ struct{} `type:"structure"`
11171
11172	// The event details.
11173	ExternalEventsDetail *ExternalEventsDetail `locationName:"externalEventsDetail" type:"structure"`
11174
11175	// The major version number.
11176	//
11177	// MajorVersionNumber is a required field
11178	MajorVersionNumber *string `locationName:"majorVersionNumber" min:"1" type:"string" required:"true"`
11179
11180	// The model ID.
11181	//
11182	// ModelId is a required field
11183	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
11184
11185	// The model type.
11186	//
11187	// ModelType is a required field
11188	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
11189
11190	// A collection of key and value pairs.
11191	Tags []*Tag `locationName:"tags" type:"list"`
11192}
11193
11194// String returns the string representation
11195func (s UpdateModelVersionInput) String() string {
11196	return awsutil.Prettify(s)
11197}
11198
11199// GoString returns the string representation
11200func (s UpdateModelVersionInput) GoString() string {
11201	return s.String()
11202}
11203
11204// Validate inspects the fields of the type to determine if they are valid.
11205func (s *UpdateModelVersionInput) Validate() error {
11206	invalidParams := request.ErrInvalidParams{Context: "UpdateModelVersionInput"}
11207	if s.MajorVersionNumber == nil {
11208		invalidParams.Add(request.NewErrParamRequired("MajorVersionNumber"))
11209	}
11210	if s.MajorVersionNumber != nil && len(*s.MajorVersionNumber) < 1 {
11211		invalidParams.Add(request.NewErrParamMinLen("MajorVersionNumber", 1))
11212	}
11213	if s.ModelId == nil {
11214		invalidParams.Add(request.NewErrParamRequired("ModelId"))
11215	}
11216	if s.ModelId != nil && len(*s.ModelId) < 1 {
11217		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
11218	}
11219	if s.ModelType == nil {
11220		invalidParams.Add(request.NewErrParamRequired("ModelType"))
11221	}
11222	if s.ExternalEventsDetail != nil {
11223		if err := s.ExternalEventsDetail.Validate(); err != nil {
11224			invalidParams.AddNested("ExternalEventsDetail", err.(request.ErrInvalidParams))
11225		}
11226	}
11227	if s.Tags != nil {
11228		for i, v := range s.Tags {
11229			if v == nil {
11230				continue
11231			}
11232			if err := v.Validate(); err != nil {
11233				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11234			}
11235		}
11236	}
11237
11238	if invalidParams.Len() > 0 {
11239		return invalidParams
11240	}
11241	return nil
11242}
11243
11244// SetExternalEventsDetail sets the ExternalEventsDetail field's value.
11245func (s *UpdateModelVersionInput) SetExternalEventsDetail(v *ExternalEventsDetail) *UpdateModelVersionInput {
11246	s.ExternalEventsDetail = v
11247	return s
11248}
11249
11250// SetMajorVersionNumber sets the MajorVersionNumber field's value.
11251func (s *UpdateModelVersionInput) SetMajorVersionNumber(v string) *UpdateModelVersionInput {
11252	s.MajorVersionNumber = &v
11253	return s
11254}
11255
11256// SetModelId sets the ModelId field's value.
11257func (s *UpdateModelVersionInput) SetModelId(v string) *UpdateModelVersionInput {
11258	s.ModelId = &v
11259	return s
11260}
11261
11262// SetModelType sets the ModelType field's value.
11263func (s *UpdateModelVersionInput) SetModelType(v string) *UpdateModelVersionInput {
11264	s.ModelType = &v
11265	return s
11266}
11267
11268// SetTags sets the Tags field's value.
11269func (s *UpdateModelVersionInput) SetTags(v []*Tag) *UpdateModelVersionInput {
11270	s.Tags = v
11271	return s
11272}
11273
11274type UpdateModelVersionOutput struct {
11275	_ struct{} `type:"structure"`
11276
11277	// The model ID.
11278	ModelId *string `locationName:"modelId" min:"1" type:"string"`
11279
11280	// The model type.
11281	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
11282
11283	// The model version number of the model version updated.
11284	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"3" type:"string"`
11285
11286	// The status of the updated model version.
11287	Status *string `locationName:"status" type:"string"`
11288}
11289
11290// String returns the string representation
11291func (s UpdateModelVersionOutput) String() string {
11292	return awsutil.Prettify(s)
11293}
11294
11295// GoString returns the string representation
11296func (s UpdateModelVersionOutput) GoString() string {
11297	return s.String()
11298}
11299
11300// SetModelId sets the ModelId field's value.
11301func (s *UpdateModelVersionOutput) SetModelId(v string) *UpdateModelVersionOutput {
11302	s.ModelId = &v
11303	return s
11304}
11305
11306// SetModelType sets the ModelType field's value.
11307func (s *UpdateModelVersionOutput) SetModelType(v string) *UpdateModelVersionOutput {
11308	s.ModelType = &v
11309	return s
11310}
11311
11312// SetModelVersionNumber sets the ModelVersionNumber field's value.
11313func (s *UpdateModelVersionOutput) SetModelVersionNumber(v string) *UpdateModelVersionOutput {
11314	s.ModelVersionNumber = &v
11315	return s
11316}
11317
11318// SetStatus sets the Status field's value.
11319func (s *UpdateModelVersionOutput) SetStatus(v string) *UpdateModelVersionOutput {
11320	s.Status = &v
11321	return s
11322}
11323
11324type UpdateModelVersionStatusInput struct {
11325	_ struct{} `type:"structure"`
11326
11327	// The model ID of the model version to update.
11328	//
11329	// ModelId is a required field
11330	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
11331
11332	// The model type.
11333	//
11334	// ModelType is a required field
11335	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
11336
11337	// The model version number.
11338	//
11339	// ModelVersionNumber is a required field
11340	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"3" type:"string" required:"true"`
11341
11342	// The model version status.
11343	//
11344	// Status is a required field
11345	Status *string `locationName:"status" type:"string" required:"true" enum:"ModelVersionStatus"`
11346}
11347
11348// String returns the string representation
11349func (s UpdateModelVersionStatusInput) String() string {
11350	return awsutil.Prettify(s)
11351}
11352
11353// GoString returns the string representation
11354func (s UpdateModelVersionStatusInput) GoString() string {
11355	return s.String()
11356}
11357
11358// Validate inspects the fields of the type to determine if they are valid.
11359func (s *UpdateModelVersionStatusInput) Validate() error {
11360	invalidParams := request.ErrInvalidParams{Context: "UpdateModelVersionStatusInput"}
11361	if s.ModelId == nil {
11362		invalidParams.Add(request.NewErrParamRequired("ModelId"))
11363	}
11364	if s.ModelId != nil && len(*s.ModelId) < 1 {
11365		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
11366	}
11367	if s.ModelType == nil {
11368		invalidParams.Add(request.NewErrParamRequired("ModelType"))
11369	}
11370	if s.ModelVersionNumber == nil {
11371		invalidParams.Add(request.NewErrParamRequired("ModelVersionNumber"))
11372	}
11373	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 3 {
11374		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 3))
11375	}
11376	if s.Status == nil {
11377		invalidParams.Add(request.NewErrParamRequired("Status"))
11378	}
11379
11380	if invalidParams.Len() > 0 {
11381		return invalidParams
11382	}
11383	return nil
11384}
11385
11386// SetModelId sets the ModelId field's value.
11387func (s *UpdateModelVersionStatusInput) SetModelId(v string) *UpdateModelVersionStatusInput {
11388	s.ModelId = &v
11389	return s
11390}
11391
11392// SetModelType sets the ModelType field's value.
11393func (s *UpdateModelVersionStatusInput) SetModelType(v string) *UpdateModelVersionStatusInput {
11394	s.ModelType = &v
11395	return s
11396}
11397
11398// SetModelVersionNumber sets the ModelVersionNumber field's value.
11399func (s *UpdateModelVersionStatusInput) SetModelVersionNumber(v string) *UpdateModelVersionStatusInput {
11400	s.ModelVersionNumber = &v
11401	return s
11402}
11403
11404// SetStatus sets the Status field's value.
11405func (s *UpdateModelVersionStatusInput) SetStatus(v string) *UpdateModelVersionStatusInput {
11406	s.Status = &v
11407	return s
11408}
11409
11410type UpdateModelVersionStatusOutput struct {
11411	_ struct{} `type:"structure"`
11412}
11413
11414// String returns the string representation
11415func (s UpdateModelVersionStatusOutput) String() string {
11416	return awsutil.Prettify(s)
11417}
11418
11419// GoString returns the string representation
11420func (s UpdateModelVersionStatusOutput) GoString() string {
11421	return s.String()
11422}
11423
11424type UpdateRuleMetadataInput struct {
11425	_ struct{} `type:"structure"`
11426
11427	// The rule description.
11428	//
11429	// Description is a required field
11430	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
11431
11432	// The rule to update.
11433	//
11434	// Rule is a required field
11435	Rule *Rule `locationName:"rule" type:"structure" required:"true"`
11436}
11437
11438// String returns the string representation
11439func (s UpdateRuleMetadataInput) String() string {
11440	return awsutil.Prettify(s)
11441}
11442
11443// GoString returns the string representation
11444func (s UpdateRuleMetadataInput) GoString() string {
11445	return s.String()
11446}
11447
11448// Validate inspects the fields of the type to determine if they are valid.
11449func (s *UpdateRuleMetadataInput) Validate() error {
11450	invalidParams := request.ErrInvalidParams{Context: "UpdateRuleMetadataInput"}
11451	if s.Description == nil {
11452		invalidParams.Add(request.NewErrParamRequired("Description"))
11453	}
11454	if s.Description != nil && len(*s.Description) < 1 {
11455		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
11456	}
11457	if s.Rule == nil {
11458		invalidParams.Add(request.NewErrParamRequired("Rule"))
11459	}
11460	if s.Rule != nil {
11461		if err := s.Rule.Validate(); err != nil {
11462			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
11463		}
11464	}
11465
11466	if invalidParams.Len() > 0 {
11467		return invalidParams
11468	}
11469	return nil
11470}
11471
11472// SetDescription sets the Description field's value.
11473func (s *UpdateRuleMetadataInput) SetDescription(v string) *UpdateRuleMetadataInput {
11474	s.Description = &v
11475	return s
11476}
11477
11478// SetRule sets the Rule field's value.
11479func (s *UpdateRuleMetadataInput) SetRule(v *Rule) *UpdateRuleMetadataInput {
11480	s.Rule = v
11481	return s
11482}
11483
11484type UpdateRuleMetadataOutput struct {
11485	_ struct{} `type:"structure"`
11486}
11487
11488// String returns the string representation
11489func (s UpdateRuleMetadataOutput) String() string {
11490	return awsutil.Prettify(s)
11491}
11492
11493// GoString returns the string representation
11494func (s UpdateRuleMetadataOutput) GoString() string {
11495	return s.String()
11496}
11497
11498type UpdateRuleVersionInput struct {
11499	_ struct{} `type:"structure"`
11500
11501	// The description.
11502	Description *string `locationName:"description" min:"1" type:"string"`
11503
11504	// The rule expression.
11505	//
11506	// Expression is a required field
11507	Expression *string `locationName:"expression" min:"1" type:"string" required:"true" sensitive:"true"`
11508
11509	// The language.
11510	//
11511	// Language is a required field
11512	Language *string `locationName:"language" type:"string" required:"true" enum:"Language"`
11513
11514	// The outcomes.
11515	//
11516	// Outcomes is a required field
11517	Outcomes []*string `locationName:"outcomes" min:"1" type:"list" required:"true"`
11518
11519	// The rule to update.
11520	//
11521	// Rule is a required field
11522	Rule *Rule `locationName:"rule" type:"structure" required:"true"`
11523
11524	// The tags to assign to the rule version.
11525	Tags []*Tag `locationName:"tags" type:"list"`
11526}
11527
11528// String returns the string representation
11529func (s UpdateRuleVersionInput) String() string {
11530	return awsutil.Prettify(s)
11531}
11532
11533// GoString returns the string representation
11534func (s UpdateRuleVersionInput) GoString() string {
11535	return s.String()
11536}
11537
11538// Validate inspects the fields of the type to determine if they are valid.
11539func (s *UpdateRuleVersionInput) Validate() error {
11540	invalidParams := request.ErrInvalidParams{Context: "UpdateRuleVersionInput"}
11541	if s.Description != nil && len(*s.Description) < 1 {
11542		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
11543	}
11544	if s.Expression == nil {
11545		invalidParams.Add(request.NewErrParamRequired("Expression"))
11546	}
11547	if s.Expression != nil && len(*s.Expression) < 1 {
11548		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
11549	}
11550	if s.Language == nil {
11551		invalidParams.Add(request.NewErrParamRequired("Language"))
11552	}
11553	if s.Outcomes == nil {
11554		invalidParams.Add(request.NewErrParamRequired("Outcomes"))
11555	}
11556	if s.Outcomes != nil && len(s.Outcomes) < 1 {
11557		invalidParams.Add(request.NewErrParamMinLen("Outcomes", 1))
11558	}
11559	if s.Rule == nil {
11560		invalidParams.Add(request.NewErrParamRequired("Rule"))
11561	}
11562	if s.Rule != nil {
11563		if err := s.Rule.Validate(); err != nil {
11564			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
11565		}
11566	}
11567	if s.Tags != nil {
11568		for i, v := range s.Tags {
11569			if v == nil {
11570				continue
11571			}
11572			if err := v.Validate(); err != nil {
11573				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11574			}
11575		}
11576	}
11577
11578	if invalidParams.Len() > 0 {
11579		return invalidParams
11580	}
11581	return nil
11582}
11583
11584// SetDescription sets the Description field's value.
11585func (s *UpdateRuleVersionInput) SetDescription(v string) *UpdateRuleVersionInput {
11586	s.Description = &v
11587	return s
11588}
11589
11590// SetExpression sets the Expression field's value.
11591func (s *UpdateRuleVersionInput) SetExpression(v string) *UpdateRuleVersionInput {
11592	s.Expression = &v
11593	return s
11594}
11595
11596// SetLanguage sets the Language field's value.
11597func (s *UpdateRuleVersionInput) SetLanguage(v string) *UpdateRuleVersionInput {
11598	s.Language = &v
11599	return s
11600}
11601
11602// SetOutcomes sets the Outcomes field's value.
11603func (s *UpdateRuleVersionInput) SetOutcomes(v []*string) *UpdateRuleVersionInput {
11604	s.Outcomes = v
11605	return s
11606}
11607
11608// SetRule sets the Rule field's value.
11609func (s *UpdateRuleVersionInput) SetRule(v *Rule) *UpdateRuleVersionInput {
11610	s.Rule = v
11611	return s
11612}
11613
11614// SetTags sets the Tags field's value.
11615func (s *UpdateRuleVersionInput) SetTags(v []*Tag) *UpdateRuleVersionInput {
11616	s.Tags = v
11617	return s
11618}
11619
11620type UpdateRuleVersionOutput struct {
11621	_ struct{} `type:"structure"`
11622
11623	// The new rule version that was created.
11624	Rule *Rule `locationName:"rule" type:"structure"`
11625}
11626
11627// String returns the string representation
11628func (s UpdateRuleVersionOutput) String() string {
11629	return awsutil.Prettify(s)
11630}
11631
11632// GoString returns the string representation
11633func (s UpdateRuleVersionOutput) GoString() string {
11634	return s.String()
11635}
11636
11637// SetRule sets the Rule field's value.
11638func (s *UpdateRuleVersionOutput) SetRule(v *Rule) *UpdateRuleVersionOutput {
11639	s.Rule = v
11640	return s
11641}
11642
11643type UpdateVariableInput struct {
11644	_ struct{} `type:"structure"`
11645
11646	// The new default value of the variable.
11647	DefaultValue *string `locationName:"defaultValue" type:"string"`
11648
11649	// The new description.
11650	Description *string `locationName:"description" type:"string"`
11651
11652	// The name of the variable.
11653	//
11654	// Name is a required field
11655	Name *string `locationName:"name" type:"string" required:"true"`
11656
11657	// The variable type. For more information see Variable types (https://docs.aws.amazon.com/frauddetector/latest/ug/create-a-variable.html#variable-types).
11658	VariableType *string `locationName:"variableType" type:"string"`
11659}
11660
11661// String returns the string representation
11662func (s UpdateVariableInput) String() string {
11663	return awsutil.Prettify(s)
11664}
11665
11666// GoString returns the string representation
11667func (s UpdateVariableInput) GoString() string {
11668	return s.String()
11669}
11670
11671// Validate inspects the fields of the type to determine if they are valid.
11672func (s *UpdateVariableInput) Validate() error {
11673	invalidParams := request.ErrInvalidParams{Context: "UpdateVariableInput"}
11674	if s.Name == nil {
11675		invalidParams.Add(request.NewErrParamRequired("Name"))
11676	}
11677
11678	if invalidParams.Len() > 0 {
11679		return invalidParams
11680	}
11681	return nil
11682}
11683
11684// SetDefaultValue sets the DefaultValue field's value.
11685func (s *UpdateVariableInput) SetDefaultValue(v string) *UpdateVariableInput {
11686	s.DefaultValue = &v
11687	return s
11688}
11689
11690// SetDescription sets the Description field's value.
11691func (s *UpdateVariableInput) SetDescription(v string) *UpdateVariableInput {
11692	s.Description = &v
11693	return s
11694}
11695
11696// SetName sets the Name field's value.
11697func (s *UpdateVariableInput) SetName(v string) *UpdateVariableInput {
11698	s.Name = &v
11699	return s
11700}
11701
11702// SetVariableType sets the VariableType field's value.
11703func (s *UpdateVariableInput) SetVariableType(v string) *UpdateVariableInput {
11704	s.VariableType = &v
11705	return s
11706}
11707
11708type UpdateVariableOutput struct {
11709	_ struct{} `type:"structure"`
11710}
11711
11712// String returns the string representation
11713func (s UpdateVariableOutput) String() string {
11714	return awsutil.Prettify(s)
11715}
11716
11717// GoString returns the string representation
11718func (s UpdateVariableOutput) GoString() string {
11719	return s.String()
11720}
11721
11722// An exception indicating a specified value is not allowed.
11723type ValidationException struct {
11724	_            struct{}                  `type:"structure"`
11725	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11726
11727	Message_ *string `locationName:"message" type:"string"`
11728}
11729
11730// String returns the string representation
11731func (s ValidationException) String() string {
11732	return awsutil.Prettify(s)
11733}
11734
11735// GoString returns the string representation
11736func (s ValidationException) GoString() string {
11737	return s.String()
11738}
11739
11740func newErrorValidationException(v protocol.ResponseMetadata) error {
11741	return &ValidationException{
11742		RespMetadata: v,
11743	}
11744}
11745
11746// Code returns the exception type name.
11747func (s *ValidationException) Code() string {
11748	return "ValidationException"
11749}
11750
11751// Message returns the exception's message.
11752func (s *ValidationException) Message() string {
11753	if s.Message_ != nil {
11754		return *s.Message_
11755	}
11756	return ""
11757}
11758
11759// OrigErr always returns nil, satisfies awserr.Error interface.
11760func (s *ValidationException) OrigErr() error {
11761	return nil
11762}
11763
11764func (s *ValidationException) Error() string {
11765	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11766}
11767
11768// Status code returns the HTTP status code for the request's response error.
11769func (s *ValidationException) StatusCode() int {
11770	return s.RespMetadata.StatusCode
11771}
11772
11773// RequestID returns the service's response RequestID for request.
11774func (s *ValidationException) RequestID() string {
11775	return s.RespMetadata.RequestID
11776}
11777
11778// The variable.
11779type Variable struct {
11780	_ struct{} `type:"structure"`
11781
11782	// The ARN of the variable.
11783	Arn *string `locationName:"arn" min:"1" type:"string"`
11784
11785	// The time when the variable was created.
11786	CreatedTime *string `locationName:"createdTime" type:"string"`
11787
11788	// The data source of the variable.
11789	DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"`
11790
11791	// The data type of the variable. For more information see Variable types (https://docs.aws.amazon.com/frauddetector/latest/ug/create-a-variable.html#variable-types).
11792	DataType *string `locationName:"dataType" type:"string" enum:"DataType"`
11793
11794	// The default value of the variable.
11795	DefaultValue *string `locationName:"defaultValue" type:"string"`
11796
11797	// The description of the variable.
11798	Description *string `locationName:"description" type:"string"`
11799
11800	// The time when variable was last updated.
11801	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
11802
11803	// The name of the variable.
11804	Name *string `locationName:"name" type:"string"`
11805
11806	// The variable type of the variable.
11807	//
11808	// Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 |
11809	// BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE
11810	// | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS |
11811	// FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID
11812	// | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1
11813	// | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME
11814	// | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT
11815	VariableType *string `locationName:"variableType" type:"string"`
11816}
11817
11818// String returns the string representation
11819func (s Variable) String() string {
11820	return awsutil.Prettify(s)
11821}
11822
11823// GoString returns the string representation
11824func (s Variable) GoString() string {
11825	return s.String()
11826}
11827
11828// SetArn sets the Arn field's value.
11829func (s *Variable) SetArn(v string) *Variable {
11830	s.Arn = &v
11831	return s
11832}
11833
11834// SetCreatedTime sets the CreatedTime field's value.
11835func (s *Variable) SetCreatedTime(v string) *Variable {
11836	s.CreatedTime = &v
11837	return s
11838}
11839
11840// SetDataSource sets the DataSource field's value.
11841func (s *Variable) SetDataSource(v string) *Variable {
11842	s.DataSource = &v
11843	return s
11844}
11845
11846// SetDataType sets the DataType field's value.
11847func (s *Variable) SetDataType(v string) *Variable {
11848	s.DataType = &v
11849	return s
11850}
11851
11852// SetDefaultValue sets the DefaultValue field's value.
11853func (s *Variable) SetDefaultValue(v string) *Variable {
11854	s.DefaultValue = &v
11855	return s
11856}
11857
11858// SetDescription sets the Description field's value.
11859func (s *Variable) SetDescription(v string) *Variable {
11860	s.Description = &v
11861	return s
11862}
11863
11864// SetLastUpdatedTime sets the LastUpdatedTime field's value.
11865func (s *Variable) SetLastUpdatedTime(v string) *Variable {
11866	s.LastUpdatedTime = &v
11867	return s
11868}
11869
11870// SetName sets the Name field's value.
11871func (s *Variable) SetName(v string) *Variable {
11872	s.Name = &v
11873	return s
11874}
11875
11876// SetVariableType sets the VariableType field's value.
11877func (s *Variable) SetVariableType(v string) *Variable {
11878	s.VariableType = &v
11879	return s
11880}
11881
11882// A variable in the list of variables for the batch create variable request.
11883type VariableEntry struct {
11884	_ struct{} `type:"structure"`
11885
11886	// The data source of the variable.
11887	DataSource *string `locationName:"dataSource" type:"string"`
11888
11889	// The data type of the variable.
11890	DataType *string `locationName:"dataType" type:"string"`
11891
11892	// The default value of the variable.
11893	DefaultValue *string `locationName:"defaultValue" type:"string"`
11894
11895	// The description of the variable.
11896	Description *string `locationName:"description" type:"string"`
11897
11898	// The name of the variable.
11899	Name *string `locationName:"name" type:"string"`
11900
11901	// The type of the variable. For more information see Variable types (https://docs.aws.amazon.com/frauddetector/latest/ug/create-a-variable.html#variable-types).
11902	//
11903	// Valid Values: AUTH_CODE | AVS | BILLING_ADDRESS_L1 | BILLING_ADDRESS_L2 |
11904	// BILLING_CITY | BILLING_COUNTRY | BILLING_NAME | BILLING_PHONE | BILLING_STATE
11905	// | BILLING_ZIP | CARD_BIN | CATEGORICAL | CURRENCY_CODE | EMAIL_ADDRESS |
11906	// FINGERPRINT | FRAUD_LABEL | FREE_FORM_TEXT | IP_ADDRESS | NUMERIC | ORDER_ID
11907	// | PAYMENT_TYPE | PHONE_NUMBER | PRICE | PRODUCT_CATEGORY | SHIPPING_ADDRESS_L1
11908	// | SHIPPING_ADDRESS_L2 | SHIPPING_CITY | SHIPPING_COUNTRY | SHIPPING_NAME
11909	// | SHIPPING_PHONE | SHIPPING_STATE | SHIPPING_ZIP | USERAGENT
11910	VariableType *string `locationName:"variableType" type:"string"`
11911}
11912
11913// String returns the string representation
11914func (s VariableEntry) String() string {
11915	return awsutil.Prettify(s)
11916}
11917
11918// GoString returns the string representation
11919func (s VariableEntry) GoString() string {
11920	return s.String()
11921}
11922
11923// SetDataSource sets the DataSource field's value.
11924func (s *VariableEntry) SetDataSource(v string) *VariableEntry {
11925	s.DataSource = &v
11926	return s
11927}
11928
11929// SetDataType sets the DataType field's value.
11930func (s *VariableEntry) SetDataType(v string) *VariableEntry {
11931	s.DataType = &v
11932	return s
11933}
11934
11935// SetDefaultValue sets the DefaultValue field's value.
11936func (s *VariableEntry) SetDefaultValue(v string) *VariableEntry {
11937	s.DefaultValue = &v
11938	return s
11939}
11940
11941// SetDescription sets the Description field's value.
11942func (s *VariableEntry) SetDescription(v string) *VariableEntry {
11943	s.Description = &v
11944	return s
11945}
11946
11947// SetName sets the Name field's value.
11948func (s *VariableEntry) SetName(v string) *VariableEntry {
11949	s.Name = &v
11950	return s
11951}
11952
11953// SetVariableType sets the VariableType field's value.
11954func (s *VariableEntry) SetVariableType(v string) *VariableEntry {
11955	s.VariableType = &v
11956	return s
11957}
11958
11959const (
11960	// DataSourceEvent is a DataSource enum value
11961	DataSourceEvent = "EVENT"
11962
11963	// DataSourceModelScore is a DataSource enum value
11964	DataSourceModelScore = "MODEL_SCORE"
11965
11966	// DataSourceExternalModelScore is a DataSource enum value
11967	DataSourceExternalModelScore = "EXTERNAL_MODEL_SCORE"
11968)
11969
11970// DataSource_Values returns all elements of the DataSource enum
11971func DataSource_Values() []string {
11972	return []string{
11973		DataSourceEvent,
11974		DataSourceModelScore,
11975		DataSourceExternalModelScore,
11976	}
11977}
11978
11979const (
11980	// DataTypeString is a DataType enum value
11981	DataTypeString = "STRING"
11982
11983	// DataTypeInteger is a DataType enum value
11984	DataTypeInteger = "INTEGER"
11985
11986	// DataTypeFloat is a DataType enum value
11987	DataTypeFloat = "FLOAT"
11988
11989	// DataTypeBoolean is a DataType enum value
11990	DataTypeBoolean = "BOOLEAN"
11991)
11992
11993// DataType_Values returns all elements of the DataType enum
11994func DataType_Values() []string {
11995	return []string{
11996		DataTypeString,
11997		DataTypeInteger,
11998		DataTypeFloat,
11999		DataTypeBoolean,
12000	}
12001}
12002
12003const (
12004	// DetectorVersionStatusDraft is a DetectorVersionStatus enum value
12005	DetectorVersionStatusDraft = "DRAFT"
12006
12007	// DetectorVersionStatusActive is a DetectorVersionStatus enum value
12008	DetectorVersionStatusActive = "ACTIVE"
12009
12010	// DetectorVersionStatusInactive is a DetectorVersionStatus enum value
12011	DetectorVersionStatusInactive = "INACTIVE"
12012)
12013
12014// DetectorVersionStatus_Values returns all elements of the DetectorVersionStatus enum
12015func DetectorVersionStatus_Values() []string {
12016	return []string{
12017		DetectorVersionStatusDraft,
12018		DetectorVersionStatusActive,
12019		DetectorVersionStatusInactive,
12020	}
12021}
12022
12023const (
12024	// LanguageDetectorpl is a Language enum value
12025	LanguageDetectorpl = "DETECTORPL"
12026)
12027
12028// Language_Values returns all elements of the Language enum
12029func Language_Values() []string {
12030	return []string{
12031		LanguageDetectorpl,
12032	}
12033}
12034
12035const (
12036	// ModelEndpointStatusAssociated is a ModelEndpointStatus enum value
12037	ModelEndpointStatusAssociated = "ASSOCIATED"
12038
12039	// ModelEndpointStatusDissociated is a ModelEndpointStatus enum value
12040	ModelEndpointStatusDissociated = "DISSOCIATED"
12041)
12042
12043// ModelEndpointStatus_Values returns all elements of the ModelEndpointStatus enum
12044func ModelEndpointStatus_Values() []string {
12045	return []string{
12046		ModelEndpointStatusAssociated,
12047		ModelEndpointStatusDissociated,
12048	}
12049}
12050
12051const (
12052	// ModelInputDataFormatTextCsv is a ModelInputDataFormat enum value
12053	ModelInputDataFormatTextCsv = "TEXT_CSV"
12054
12055	// ModelInputDataFormatApplicationJson is a ModelInputDataFormat enum value
12056	ModelInputDataFormatApplicationJson = "APPLICATION_JSON"
12057)
12058
12059// ModelInputDataFormat_Values returns all elements of the ModelInputDataFormat enum
12060func ModelInputDataFormat_Values() []string {
12061	return []string{
12062		ModelInputDataFormatTextCsv,
12063		ModelInputDataFormatApplicationJson,
12064	}
12065}
12066
12067const (
12068	// ModelOutputDataFormatTextCsv is a ModelOutputDataFormat enum value
12069	ModelOutputDataFormatTextCsv = "TEXT_CSV"
12070
12071	// ModelOutputDataFormatApplicationJsonlines is a ModelOutputDataFormat enum value
12072	ModelOutputDataFormatApplicationJsonlines = "APPLICATION_JSONLINES"
12073)
12074
12075// ModelOutputDataFormat_Values returns all elements of the ModelOutputDataFormat enum
12076func ModelOutputDataFormat_Values() []string {
12077	return []string{
12078		ModelOutputDataFormatTextCsv,
12079		ModelOutputDataFormatApplicationJsonlines,
12080	}
12081}
12082
12083const (
12084	// ModelSourceSagemaker is a ModelSource enum value
12085	ModelSourceSagemaker = "SAGEMAKER"
12086)
12087
12088// ModelSource_Values returns all elements of the ModelSource enum
12089func ModelSource_Values() []string {
12090	return []string{
12091		ModelSourceSagemaker,
12092	}
12093}
12094
12095const (
12096	// ModelTypeEnumOnlineFraudInsights is a ModelTypeEnum enum value
12097	ModelTypeEnumOnlineFraudInsights = "ONLINE_FRAUD_INSIGHTS"
12098)
12099
12100// ModelTypeEnum_Values returns all elements of the ModelTypeEnum enum
12101func ModelTypeEnum_Values() []string {
12102	return []string{
12103		ModelTypeEnumOnlineFraudInsights,
12104	}
12105}
12106
12107const (
12108	// ModelVersionStatusActive is a ModelVersionStatus enum value
12109	ModelVersionStatusActive = "ACTIVE"
12110
12111	// ModelVersionStatusInactive is a ModelVersionStatus enum value
12112	ModelVersionStatusInactive = "INACTIVE"
12113)
12114
12115// ModelVersionStatus_Values returns all elements of the ModelVersionStatus enum
12116func ModelVersionStatus_Values() []string {
12117	return []string{
12118		ModelVersionStatusActive,
12119		ModelVersionStatusInactive,
12120	}
12121}
12122
12123const (
12124	// RuleExecutionModeAllMatched is a RuleExecutionMode enum value
12125	RuleExecutionModeAllMatched = "ALL_MATCHED"
12126
12127	// RuleExecutionModeFirstMatched is a RuleExecutionMode enum value
12128	RuleExecutionModeFirstMatched = "FIRST_MATCHED"
12129)
12130
12131// RuleExecutionMode_Values returns all elements of the RuleExecutionMode enum
12132func RuleExecutionMode_Values() []string {
12133	return []string{
12134		RuleExecutionModeAllMatched,
12135		RuleExecutionModeFirstMatched,
12136	}
12137}
12138
12139const (
12140	// TrainingDataSourceEnumExternalEvents is a TrainingDataSourceEnum enum value
12141	TrainingDataSourceEnumExternalEvents = "EXTERNAL_EVENTS"
12142)
12143
12144// TrainingDataSourceEnum_Values returns all elements of the TrainingDataSourceEnum enum
12145func TrainingDataSourceEnum_Values() []string {
12146	return []string{
12147		TrainingDataSourceEnumExternalEvents,
12148	}
12149}
12150