1package contentmoderator
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"encoding/json"
22	"github.com/Azure/go-autorest/autorest"
23)
24
25// The package's fully qualified name.
26const fqdn = "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v1.0/contentmoderator"
27
28// StatusEnum enumerates the values for status enum.
29type StatusEnum string
30
31const (
32	// Complete ...
33	Complete StatusEnum = "Complete"
34	// Pending ...
35	Pending StatusEnum = "Pending"
36	// Unpublished ...
37	Unpublished StatusEnum = "Unpublished"
38)
39
40// PossibleStatusEnumValues returns an array of possible values for the StatusEnum const type.
41func PossibleStatusEnumValues() []StatusEnum {
42	return []StatusEnum{Complete, Pending, Unpublished}
43}
44
45// Type enumerates the values for type.
46type Type string
47
48const (
49	// TypeImage ...
50	TypeImage Type = "Image"
51	// TypeText ...
52	TypeText Type = "Text"
53)
54
55// PossibleTypeValues returns an array of possible values for the Type const type.
56func PossibleTypeValues() []Type {
57	return []Type{TypeImage, TypeText}
58}
59
60// Address address details.
61type Address struct {
62	// Text - Detected Address.
63	Text *string `json:"Text,omitempty"`
64	// Index - Index(Location) of the Address in the input text content.
65	Index *int32 `json:"Index,omitempty"`
66}
67
68// APIError error information returned by the API
69type APIError struct {
70	Error *Error `json:"Error,omitempty"`
71}
72
73// Body ...
74type Body struct {
75	// Name - Name of the list.
76	Name *string `json:"Name,omitempty"`
77	// Description - Description of the list.
78	Description *string `json:"Description,omitempty"`
79	// Metadata - Metadata of the list.
80	Metadata map[string]*string `json:"Metadata"`
81}
82
83// MarshalJSON is the custom marshaler for Body.
84func (b Body) MarshalJSON() ([]byte, error) {
85	objectMap := make(map[string]interface{})
86	if b.Name != nil {
87		objectMap["Name"] = b.Name
88	}
89	if b.Description != nil {
90		objectMap["Description"] = b.Description
91	}
92	if b.Metadata != nil {
93		objectMap["Metadata"] = b.Metadata
94	}
95	return json.Marshal(objectMap)
96}
97
98// Candidate OCR candidate text.
99type Candidate struct {
100	// Text - The text found.
101	Text *string `json:"Text,omitempty"`
102	// Confidence - The confidence level.
103	Confidence *float64 `json:"Confidence,omitempty"`
104}
105
106// Classification the classification details of the text.
107type Classification struct {
108	// Category1 - The category1 score details of the text. <a href="https://aka.ms/textClassifyCategories">Click here</a> for more details on category classification.
109	Category1 *ClassificationCategory1 `json:"Category1,omitempty"`
110	// Category2 - The category2 score details of the text. <a href="https://aka.ms/textClassifyCategories">Click here</a> for more details on category classification.
111	Category2 *ClassificationCategory2 `json:"Category2,omitempty"`
112	// Category3 - The category3 score details of the text. <a href="https://aka.ms/textClassifyCategories">Click here</a> for more details on category classification.
113	Category3 *ClassificationCategory3 `json:"Category3,omitempty"`
114	// ReviewRecommended - The review recommended flag.
115	ReviewRecommended *bool `json:"ReviewRecommended,omitempty"`
116}
117
118// ClassificationCategory1 the category1 score details of the text. <a
119// href="https://aka.ms/textClassifyCategories">Click here</a> for more details on category classification.
120type ClassificationCategory1 struct {
121	// Score - The category1 score.
122	Score *float64 `json:"Score,omitempty"`
123}
124
125// ClassificationCategory2 the category2 score details of the text. <a
126// href="https://aka.ms/textClassifyCategories">Click here</a> for more details on category classification.
127type ClassificationCategory2 struct {
128	// Score - The category2 score.
129	Score *float64 `json:"Score,omitempty"`
130}
131
132// ClassificationCategory3 the category3 score details of the text. <a
133// href="https://aka.ms/textClassifyCategories">Click here</a> for more details on category classification.
134type ClassificationCategory3 struct {
135	// Score - The category3 score.
136	Score *float64 `json:"Score,omitempty"`
137}
138
139// Content ...
140type Content struct {
141	// ContentValue - Content to evaluate for a job.
142	ContentValue *string `json:"ContentValue,omitempty"`
143}
144
145// CreateReviewBodyItem schema items of the body.
146type CreateReviewBodyItem struct {
147	// Type - Type of the content. Possible values include: 'TypeImage', 'TypeText'
148	Type Type `json:"Type,omitempty"`
149	// Content - Content to review.
150	Content *string `json:"Content,omitempty"`
151	// ContentID - Content Identifier.
152	ContentID *string `json:"ContentId,omitempty"`
153	// CallbackEndpoint - Optional CallbackEndpoint.
154	CallbackEndpoint *string `json:"CallbackEndpoint,omitempty"`
155	// Metadata - Optional metadata details.
156	Metadata *[]CreateReviewBodyItemMetadataItem `json:"Metadata,omitempty"`
157}
158
159// CreateReviewBodyItemMetadataItem ...
160type CreateReviewBodyItemMetadataItem struct {
161	// Key - Your key parameter.
162	Key *string `json:"Key,omitempty"`
163	// Value - Your value parameter.
164	Value *string `json:"Value,omitempty"`
165}
166
167// CreateVideoReviewsBodyItem schema items of the body.
168type CreateVideoReviewsBodyItem struct {
169	// VideoFrames - Optional metadata details.
170	VideoFrames *[]CreateVideoReviewsBodyItemVideoFramesItem `json:"VideoFrames,omitempty"`
171	// Metadata - Optional metadata details.
172	Metadata *[]CreateVideoReviewsBodyItemMetadataItem `json:"Metadata,omitempty"`
173	// Type - Type of the content.
174	Type *string `json:"Type,omitempty"`
175	// Content - Video content url to review.
176	Content *string `json:"Content,omitempty"`
177	// ContentID - Content Identifier.
178	ContentID *string `json:"ContentId,omitempty"`
179	// Status - Status of the video(Complete,Unpublished,Pending). Possible values include: 'Complete', 'Unpublished', 'Pending'
180	Status StatusEnum `json:"Status,omitempty"`
181	// Timescale - Timescale of the video.
182	Timescale *int32 `json:"Timescale,omitempty"`
183	// CallbackEndpoint - Optional CallbackEndpoint.
184	CallbackEndpoint *string `json:"CallbackEndpoint,omitempty"`
185}
186
187// CreateVideoReviewsBodyItemMetadataItem ...
188type CreateVideoReviewsBodyItemMetadataItem struct {
189	// Key - Your key parameter.
190	Key *string `json:"Key,omitempty"`
191	// Value - Your value parameter.
192	Value *string `json:"Value,omitempty"`
193}
194
195// CreateVideoReviewsBodyItemVideoFramesItem ...
196type CreateVideoReviewsBodyItemVideoFramesItem struct {
197	// ID - Id of the frame.
198	ID *string `json:"Id,omitempty"`
199	// Timestamp - Timestamp of the frame.
200	Timestamp *int32 `json:"Timestamp,omitempty"`
201	// FrameImage - Frame image Url.
202	FrameImage         *string                                                            `json:"FrameImage,omitempty"`
203	ReviewerResultTags *[]CreateVideoReviewsBodyItemVideoFramesItemReviewerResultTagsItem `json:"ReviewerResultTags,omitempty"`
204	// Metadata - Optional metadata details.
205	Metadata *[]CreateVideoReviewsBodyItemVideoFramesItemMetadataItem `json:"Metadata,omitempty"`
206}
207
208// CreateVideoReviewsBodyItemVideoFramesItemMetadataItem ...
209type CreateVideoReviewsBodyItemVideoFramesItemMetadataItem struct {
210	// Key - Your key parameter.
211	Key *string `json:"Key,omitempty"`
212	// Value - Your value parameter.
213	Value *string `json:"Value,omitempty"`
214}
215
216// CreateVideoReviewsBodyItemVideoFramesItemReviewerResultTagsItem ...
217type CreateVideoReviewsBodyItemVideoFramesItemReviewerResultTagsItem struct {
218	// Key - Your key parameter.
219	Key *string `json:"Key,omitempty"`
220	// Value - Your value parameter.
221	Value *string `json:"Value,omitempty"`
222}
223
224// DetectedLanguage detect language result.
225type DetectedLanguage struct {
226	autorest.Response `json:"-"`
227	// DetectedLanguage - The detected language.
228	DetectedLanguage *string `json:"DetectedLanguage,omitempty"`
229	// Status - The detect language status
230	Status *Status `json:"Status,omitempty"`
231	// TrackingID - The tracking id.
232	TrackingID *string `json:"TrackingId,omitempty"`
233}
234
235// DetectedTerms detected Terms details.
236type DetectedTerms struct {
237	// Index - Index(Location) of the detected profanity term in the input text content.
238	Index *int32 `json:"Index,omitempty"`
239	// OriginalIndex - Original Index(Location) of the detected profanity term in the input text content.
240	OriginalIndex *int32 `json:"OriginalIndex,omitempty"`
241	// ListID - Matched Terms list Id.
242	ListID *int32 `json:"ListId,omitempty"`
243	// Term - Detected profanity term.
244	Term *string `json:"Term,omitempty"`
245}
246
247// Email email Address details.
248type Email struct {
249	// Detected - Detected Email Address from the input text content.
250	Detected *string `json:"Detected,omitempty"`
251	// SubType - Subtype of the detected Email Address.
252	SubType *string `json:"SubType,omitempty"`
253	// Text - Email Address in the input text content.
254	Text *string `json:"Text,omitempty"`
255	// Index - Index(Location) of the Email address in the input text content.
256	Index *int32 `json:"Index,omitempty"`
257}
258
259// Error error body.
260type Error struct {
261	Code    *string `json:"Code,omitempty"`
262	Message *string `json:"Message,omitempty"`
263}
264
265// Evaluate evaluate response object.
266type Evaluate struct {
267	autorest.Response `json:"-"`
268	// CacheID - The cache id.
269	CacheID *string `json:"CacheID,omitempty"`
270	// Result - Evaluate result.
271	Result *bool `json:"Result,omitempty"`
272	// TrackingID - The tracking id.
273	TrackingID *string `json:"TrackingId,omitempty"`
274	// AdultClassificationScore - The adult classification score.
275	AdultClassificationScore *float64 `json:"AdultClassificationScore,omitempty"`
276	// IsImageAdultClassified - Indicates if an image is classified as adult.
277	IsImageAdultClassified *bool `json:"IsImageAdultClassified,omitempty"`
278	// RacyClassificationScore - The racy classification score.
279	RacyClassificationScore *float64 `json:"RacyClassificationScore,omitempty"`
280	// IsImageRacyClassified - Indicates if the image is classified as racy.
281	IsImageRacyClassified *bool `json:"IsImageRacyClassified,omitempty"`
282	// AdvancedInfo - The advanced info.
283	AdvancedInfo *[]KeyValuePair `json:"AdvancedInfo,omitempty"`
284	// Status - The evaluate status
285	Status *Status `json:"Status,omitempty"`
286}
287
288// Face coordinates to the found face.
289type Face struct {
290	// Bottom - The bottom coordinate.
291	Bottom *int32 `json:"Bottom,omitempty"`
292	// Left - The left coordinate.
293	Left *int32 `json:"Left,omitempty"`
294	// Right - The right coordinate.
295	Right *int32 `json:"Right,omitempty"`
296	// Top - The top coordinate.
297	Top *int32 `json:"Top,omitempty"`
298}
299
300// FoundFaces request object the contains found faces.
301type FoundFaces struct {
302	autorest.Response `json:"-"`
303	// Status - The evaluate status
304	Status *Status `json:"Status,omitempty"`
305	// TrackingID - The tracking id.
306	TrackingID *string `json:"TrackingId,omitempty"`
307	// CacheID - The cache id.
308	CacheID *string `json:"CacheId,omitempty"`
309	// Result - True if result was found.
310	Result *bool `json:"Result,omitempty"`
311	// Count - Number of faces found.
312	Count *int32 `json:"Count,omitempty"`
313	// AdvancedInfo - The advanced info.
314	AdvancedInfo *[]KeyValuePair `json:"AdvancedInfo,omitempty"`
315	// Faces - The list of faces.
316	Faces *[]Face `json:"Faces,omitempty"`
317}
318
319// Frame video frame property details.
320type Frame struct {
321	// Timestamp - Timestamp of the frame.
322	Timestamp *string `json:"Timestamp,omitempty"`
323	// FrameImage - Frame image.
324	FrameImage *string `json:"FrameImage,omitempty"`
325	// Metadata - Array of KeyValue.
326	Metadata *[]KeyValuePair `json:"Metadata,omitempty"`
327	// ReviewerResultTags - Reviewer result tags.
328	ReviewerResultTags *[]Tag `json:"ReviewerResultTags,omitempty"`
329}
330
331// Frames the response for a Get Frames request.
332type Frames struct {
333	autorest.Response `json:"-"`
334	// ReviewID - Id of the review.
335	ReviewID    *string  `json:"ReviewId,omitempty"`
336	VideoFrames *[]Frame `json:"VideoFrames,omitempty"`
337}
338
339// Image image Properties.
340type Image struct {
341	autorest.Response `json:"-"`
342	// ContentID - Content Id.
343	ContentID *string `json:"ContentId,omitempty"`
344	// AdditionalInfo - Advanced info list.
345	AdditionalInfo *[]ImageAdditionalInfoItem `json:"AdditionalInfo,omitempty"`
346	// Status - Status details.
347	Status *Status `json:"Status,omitempty"`
348	// TrackingID - Tracking Id.
349	TrackingID *string `json:"TrackingId,omitempty"`
350}
351
352// ImageAdditionalInfoItem ...
353type ImageAdditionalInfoItem struct {
354	// Key - Key parameter.
355	Key *string `json:"Key,omitempty"`
356	// Value - Value parameter.
357	Value *string `json:"Value,omitempty"`
358}
359
360// ImageIds image Id properties.
361type ImageIds struct {
362	autorest.Response `json:"-"`
363	// ContentSource - Source of the content.
364	ContentSource *string `json:"ContentSource,omitempty"`
365	// ContentIds - Id of the contents.
366	ContentIds *[]int32 `json:"ContentIds,omitempty"`
367	// Status - Get Image status.
368	Status *Status `json:"Status,omitempty"`
369	// TrackingID - Tracking Id.
370	TrackingID *string `json:"TrackingId,omitempty"`
371}
372
373// ImageList image List Properties.
374type ImageList struct {
375	autorest.Response `json:"-"`
376	// ID - Image List Id.
377	ID *int32 `json:"Id,omitempty"`
378	// Name - Image List Name.
379	Name *string `json:"Name,omitempty"`
380	// Description - Description for image list.
381	Description *string `json:"Description,omitempty"`
382	// Metadata - Image List Metadata.
383	Metadata map[string]*string `json:"Metadata"`
384}
385
386// MarshalJSON is the custom marshaler for ImageList.
387func (il ImageList) MarshalJSON() ([]byte, error) {
388	objectMap := make(map[string]interface{})
389	if il.ID != nil {
390		objectMap["Id"] = il.ID
391	}
392	if il.Name != nil {
393		objectMap["Name"] = il.Name
394	}
395	if il.Description != nil {
396		objectMap["Description"] = il.Description
397	}
398	if il.Metadata != nil {
399		objectMap["Metadata"] = il.Metadata
400	}
401	return json.Marshal(objectMap)
402}
403
404// ImageURL ...
405type ImageURL struct {
406	DataRepresentation *string `json:"DataRepresentation,omitempty"`
407	Value              *string `json:"Value,omitempty"`
408}
409
410// IPA IP Address details.
411type IPA struct {
412	// SubType - Subtype of the detected IP Address.
413	SubType *string `json:"SubType,omitempty"`
414	// Text - Detected IP Address.
415	Text *string `json:"Text,omitempty"`
416	// Index - Index(Location) of the IP Address in the input text content.
417	Index *int32 `json:"Index,omitempty"`
418}
419
420// Job the Job object.
421type Job struct {
422	autorest.Response `json:"-"`
423	// ID - The job id.
424	ID *string `json:"Id,omitempty"`
425	// TeamName - The team name associated with the job.
426	TeamName *string `json:"TeamName,omitempty"`
427	// Status - The status string (<Pending, Failed, Completed>).
428	Status *string `json:"Status,omitempty"`
429	// WorkflowID - The Id of the workflow.
430	WorkflowID *string `json:"WorkflowId,omitempty"`
431	// Type - Type of the content.
432	Type *string `json:"Type,omitempty"`
433	// CallBackEndpoint - The callback endpoint.
434	CallBackEndpoint *string `json:"CallBackEndpoint,omitempty"`
435	// ReviewID - Review Id if one is created.
436	ReviewID *string `json:"ReviewId,omitempty"`
437	// ResultMetaData - Array of KeyValue pairs.
438	ResultMetaData *[]KeyValuePair `json:"ResultMetaData,omitempty"`
439	// JobExecutionReport - Job execution report- Array of KeyValue pairs object.
440	JobExecutionReport *[]JobExecutionReportDetails `json:"JobExecutionReport,omitempty"`
441}
442
443// JobExecutionReportDetails job Execution Report Values.
444type JobExecutionReportDetails struct {
445	// Ts - Time details.
446	Ts *string `json:"Ts,omitempty"`
447	// Msg - Message details.
448	Msg *string `json:"Msg,omitempty"`
449}
450
451// JobID ...
452type JobID struct {
453	autorest.Response `json:"-"`
454	// JobID - Id of the created job.
455	JobID *string `json:"JobId,omitempty"`
456}
457
458// JobListResult the list of job ids.
459type JobListResult struct {
460	// Value - The job id.
461	Value *[]string `json:"Value,omitempty"`
462}
463
464// KeyValuePair the key value pair object properties.
465type KeyValuePair struct {
466	// Key - The key parameter.
467	Key *string `json:"Key,omitempty"`
468	// Value - The value parameter.
469	Value *string `json:"Value,omitempty"`
470}
471
472// ListImageList ...
473type ListImageList struct {
474	autorest.Response `json:"-"`
475	Value             *[]ImageList `json:"value,omitempty"`
476}
477
478// ListString ...
479type ListString struct {
480	autorest.Response `json:"-"`
481	Value             *[]string `json:"value,omitempty"`
482}
483
484// ListTermList ...
485type ListTermList struct {
486	autorest.Response `json:"-"`
487	Value             *[]TermList `json:"value,omitempty"`
488}
489
490// Match the match details.
491type Match struct {
492	// Score - Confidence score of the image match.
493	Score *float64 `json:"Score,omitempty"`
494	// MatchID - The match id.
495	MatchID *int32 `json:"MatchId,omitempty"`
496	// Source - The source.
497	Source *string `json:"Source,omitempty"`
498	// Tags - The tags for match details.
499	Tags *[]int32 `json:"Tags,omitempty"`
500	// Label - The label.
501	Label *string `json:"Label,omitempty"`
502}
503
504// MatchResponse the response for a Match request.
505type MatchResponse struct {
506	autorest.Response `json:"-"`
507	// TrackingID - The tracking id.
508	TrackingID *string `json:"TrackingId,omitempty"`
509	// CacheID - The cache id.
510	CacheID *string `json:"CacheID,omitempty"`
511	// IsMatch - Indicates if there is a match.
512	IsMatch *bool `json:"IsMatch,omitempty"`
513	// Matches - The match details.
514	Matches *[]Match `json:"Matches,omitempty"`
515	// Status - The evaluate status
516	Status *Status `json:"Status,omitempty"`
517}
518
519// OCR contains the text found in image for the language specified.
520type OCR struct {
521	autorest.Response `json:"-"`
522	// Status - The evaluate status
523	Status *Status `json:"Status,omitempty"`
524	// Metadata - Array of KeyValue.
525	Metadata *[]KeyValuePair `json:"Metadata,omitempty"`
526	// TrackingID - The tracking id.
527	TrackingID *string `json:"TrackingId,omitempty"`
528	// CacheID - The cache id.
529	CacheID *string `json:"CacheId,omitempty"`
530	// Language - The ISO 639-3 code.
531	Language *string `json:"Language,omitempty"`
532	// Text - The found text.
533	Text *string `json:"Text,omitempty"`
534	// Candidates - The list of candidate text.
535	Candidates *[]Candidate `json:"Candidates,omitempty"`
536}
537
538// Phone phone Property details.
539type Phone struct {
540	// CountryCode - CountryCode of the detected Phone number.
541	CountryCode *string `json:"CountryCode,omitempty"`
542	// Text - Detected Phone number.
543	Text *string `json:"Text,omitempty"`
544	// Index - Index(Location) of the Phone number in the input text content.
545	Index *int32 `json:"Index,omitempty"`
546}
547
548// PII personal Identifier Information details.
549type PII struct {
550	Email   *[]Email   `json:"Email,omitempty"`
551	SSN     *[]SSN     `json:"SSN,omitempty"`
552	IPA     *[]IPA     `json:"IPA,omitempty"`
553	Phone   *[]Phone   `json:"Phone,omitempty"`
554	Address *[]Address `json:"Address,omitempty"`
555}
556
557// RefreshIndex refresh Index Response.
558type RefreshIndex struct {
559	autorest.Response `json:"-"`
560	// ContentSourceID - Content source Id.
561	ContentSourceID *string `json:"ContentSourceId,omitempty"`
562	// IsUpdateSuccess - Update success status.
563	IsUpdateSuccess *bool `json:"IsUpdateSuccess,omitempty"`
564	// AdvancedInfo - Advanced info list.
565	AdvancedInfo *[]map[string]*string `json:"AdvancedInfo,omitempty"`
566	// Status - Refresh index status.
567	Status *Status `json:"Status,omitempty"`
568	// TrackingID - Tracking Id.
569	TrackingID *string `json:"TrackingId,omitempty"`
570}
571
572// Review the Review object.
573type Review struct {
574	autorest.Response `json:"-"`
575	// ReviewID - Id of the review.
576	ReviewID *string `json:"ReviewId,omitempty"`
577	// SubTeam - Name of the subteam.
578	SubTeam *string `json:"SubTeam,omitempty"`
579	// Status - The status string (<Pending, Complete>).
580	Status *string `json:"Status,omitempty"`
581	// ReviewerResultTags - Array of KeyValue with Reviewer set Tags.
582	ReviewerResultTags *[]KeyValuePair `json:"ReviewerResultTags,omitempty"`
583	// CreatedBy - The reviewer name.
584	CreatedBy *string `json:"CreatedBy,omitempty"`
585	// Metadata - Array of KeyValue.
586	Metadata *[]KeyValuePair `json:"Metadata,omitempty"`
587	// Type - The type of content.
588	Type *string `json:"Type,omitempty"`
589	// Content - The content value.
590	Content *string `json:"Content,omitempty"`
591	// ContentID - Id of the content.
592	ContentID *string `json:"ContentId,omitempty"`
593	// CallbackEndpoint - The callback endpoint.
594	CallbackEndpoint *string `json:"CallbackEndpoint,omitempty"`
595}
596
597// Screen the response for a Screen text request.
598type Screen struct {
599	autorest.Response `json:"-"`
600	// OriginalText - The original text.
601	OriginalText *string `json:"OriginalText,omitempty"`
602	// NormalizedText - The normalized text.
603	NormalizedText *string `json:"NormalizedText,omitempty"`
604	// AutoCorrectedText - The autocorrected text
605	AutoCorrectedText *string `json:"AutoCorrectedText,omitempty"`
606	// Misrepresentation - The misrepresentation text.
607	Misrepresentation *[]string `json:"Misrepresentation,omitempty"`
608	// Classification - The classification details of the text.
609	Classification *Classification `json:"Classification,omitempty"`
610	// Status - The evaluate status.
611	Status *Status `json:"Status,omitempty"`
612	// PII - Personal Identifier Information details.
613	PII *PII `json:"PII,omitempty"`
614	// Language - Language of the input text content.
615	Language *string          `json:"Language,omitempty"`
616	Terms    *[]DetectedTerms `json:"Terms,omitempty"`
617	// TrackingID - Unique Content Moderator transaction Id.
618	TrackingID *string `json:"TrackingId,omitempty"`
619}
620
621// SSN detected SSN details.
622type SSN struct {
623	// Text - Detected SSN in the input text content.
624	Text *string `json:"Text,omitempty"`
625	// Index - Index(Location) of the SSN in the input text content.
626	Index *int32 `json:"Index,omitempty"`
627}
628
629// Status status properties.
630type Status struct {
631	// Code - Status code.
632	Code *int32 `json:"Code,omitempty"`
633	// Description - Status description.
634	Description *string `json:"Description,omitempty"`
635	// Exception - Exception status.
636	Exception *string `json:"Exception,omitempty"`
637}
638
639// String ...
640type String struct {
641	autorest.Response `json:"-"`
642	Value             *string `json:"value,omitempty"`
643}
644
645// Tag tag details.
646type Tag struct {
647	// Key - The key parameter.
648	Key *string `json:"Key,omitempty"`
649	// Value - The value parameter.
650	Value *string `json:"Value,omitempty"`
651}
652
653// TermList term List  Properties.
654type TermList struct {
655	autorest.Response `json:"-"`
656	// ID - Term list Id.
657	ID *int32 `json:"Id,omitempty"`
658	// Name - Term list name.
659	Name *string `json:"Name,omitempty"`
660	// Description - Description for term list.
661	Description *string `json:"Description,omitempty"`
662	// Metadata - Term list metadata.
663	Metadata map[string]*string `json:"Metadata"`
664}
665
666// MarshalJSON is the custom marshaler for TermList.
667func (tl TermList) MarshalJSON() ([]byte, error) {
668	objectMap := make(map[string]interface{})
669	if tl.ID != nil {
670		objectMap["Id"] = tl.ID
671	}
672	if tl.Name != nil {
673		objectMap["Name"] = tl.Name
674	}
675	if tl.Description != nil {
676		objectMap["Description"] = tl.Description
677	}
678	if tl.Metadata != nil {
679		objectMap["Metadata"] = tl.Metadata
680	}
681	return json.Marshal(objectMap)
682}
683
684// Terms terms properties.
685type Terms struct {
686	autorest.Response `json:"-"`
687	// Data - Term data details.
688	Data *TermsData `json:"Data,omitempty"`
689	// Paging - Paging details.
690	Paging *TermsPaging `json:"Paging,omitempty"`
691}
692
693// TermsData all term Id response properties.
694type TermsData struct {
695	// Language - Language of the terms.
696	Language *string `json:"Language,omitempty"`
697	// Terms - List of terms.
698	Terms *[]TermsInList `json:"Terms,omitempty"`
699	// Status - Term Status.
700	Status *Status `json:"Status,omitempty"`
701	// TrackingID - Tracking Id.
702	TrackingID *string `json:"TrackingId,omitempty"`
703}
704
705// TermsInList terms in list Id passed.
706type TermsInList struct {
707	// Term - Added term details.
708	Term *string `json:"Term,omitempty"`
709}
710
711// TermsPaging paging details.
712type TermsPaging struct {
713	// Total - Total details.
714	Total *int32 `json:"Total,omitempty"`
715	// Limit - Limit details.
716	Limit *int32 `json:"Limit,omitempty"`
717	// Offset - Offset details.
718	Offset *int32 `json:"Offset,omitempty"`
719	// Returned - Returned text details.
720	Returned *int32 `json:"Returned,omitempty"`
721}
722
723// TranscriptModerationBodyItem schema items of the body.
724type TranscriptModerationBodyItem struct {
725	// Timestamp - Timestamp of the image.
726	Timestamp *string `json:"Timestamp,omitempty"`
727	// Terms - Optional metadata details.
728	Terms *[]TranscriptModerationBodyItemTermsItem `json:"Terms,omitempty"`
729}
730
731// TranscriptModerationBodyItemTermsItem ...
732type TranscriptModerationBodyItemTermsItem struct {
733	// Index - Index of the word
734	Index *int32 `json:"Index,omitempty"`
735	// Term - Detected word.
736	Term *string `json:"Term,omitempty"`
737}
738
739// VideoFrameBodyItem schema items of the body.
740type VideoFrameBodyItem struct {
741	// Timestamp - Timestamp of the frame.
742	Timestamp *string `json:"Timestamp,omitempty"`
743	// FrameImage - Content to review.
744	FrameImage         *string                                     `json:"FrameImage,omitempty"`
745	ReviewerResultTags *[]VideoFrameBodyItemReviewerResultTagsItem `json:"ReviewerResultTags,omitempty"`
746	// Metadata - Optional metadata details.
747	Metadata *[]VideoFrameBodyItemMetadataItem `json:"Metadata,omitempty"`
748}
749
750// VideoFrameBodyItemMetadataItem ...
751type VideoFrameBodyItemMetadataItem struct {
752	// Key - Your key parameter.
753	Key *string `json:"Key,omitempty"`
754	// Value - Your value parameter.
755	Value *string `json:"Value,omitempty"`
756}
757
758// VideoFrameBodyItemReviewerResultTagsItem ...
759type VideoFrameBodyItemReviewerResultTagsItem struct {
760	// Key - Your key parameter.
761	Key *string `json:"Key,omitempty"`
762	// Value - Your value parameter.
763	Value *string `json:"Value,omitempty"`
764}
765