...

Source file src/github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.2/customvision/training/models.go

Documentation: github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.2/customvision/training

     1  package training
     2  
     3  // Copyright (c) Microsoft Corporation. All rights reserved.
     4  // Licensed under the MIT License. See License.txt in the project root for license information.
     5  //
     6  // Code generated by Microsoft (R) AutoRest Code Generator.
     7  // Changes may cause incorrect behavior and will be lost if the code is regenerated.
     8  
     9  import (
    10  	"encoding/json"
    11  	"github.com/Azure/go-autorest/autorest"
    12  	"github.com/Azure/go-autorest/autorest/date"
    13  	"github.com/gofrs/uuid"
    14  )
    15  
    16  // The package's fully qualified name.
    17  const fqdn = "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.2/customvision/training"
    18  
    19  // Bool ...
    20  type Bool struct {
    21  	autorest.Response `json:"-"`
    22  	Value             *bool `json:"value,omitempty"`
    23  }
    24  
    25  // BoundingBox bounding box that defines a region of an image.
    26  type BoundingBox struct {
    27  	// Left - Coordinate of the left boundary.
    28  	Left *float64 `json:"left,omitempty"`
    29  	// Top - Coordinate of the top boundary.
    30  	Top *float64 `json:"top,omitempty"`
    31  	// Width - Width.
    32  	Width *float64 `json:"width,omitempty"`
    33  	// Height - Height.
    34  	Height *float64 `json:"height,omitempty"`
    35  }
    36  
    37  // CustomVisionError ...
    38  type CustomVisionError struct {
    39  	// Code - The error code. Possible values include: 'NoError', 'BadRequest', 'BadRequestExceededBatchSize', 'BadRequestNotSupported', 'BadRequestInvalidIds', 'BadRequestProjectName', 'BadRequestProjectNameNotUnique', 'BadRequestProjectDescription', 'BadRequestProjectUnknownDomain', 'BadRequestProjectUnknownClassification', 'BadRequestProjectUnsupportedDomainTypeChange', 'BadRequestProjectUnsupportedExportPlatform', 'BadRequestProjectImagePreprocessingSettings', 'BadRequestProjectDuplicated', 'BadRequestIterationName', 'BadRequestIterationNameNotUnique', 'BadRequestIterationDescription', 'BadRequestIterationIsNotTrained', 'BadRequestIterationValidationFailed', 'BadRequestWorkspaceCannotBeModified', 'BadRequestWorkspaceNotDeletable', 'BadRequestTagName', 'BadRequestTagNameNotUnique', 'BadRequestTagDescription', 'BadRequestTagType', 'BadRequestMultipleNegativeTag', 'BadRequestImageTags', 'BadRequestImageRegions', 'BadRequestNegativeAndRegularTagOnSameImage', 'BadRequestRequiredParamIsNull', 'BadRequestIterationIsPublished', 'BadRequestInvalidPublishName', 'BadRequestInvalidPublishTarget', 'BadRequestUnpublishFailed', 'BadRequestIterationNotPublished', 'BadRequestSubscriptionAPI', 'BadRequestExceedProjectLimit', 'BadRequestExceedIterationPerProjectLimit', 'BadRequestExceedTagPerProjectLimit', 'BadRequestExceedTagPerImageLimit', 'BadRequestExceededQuota', 'BadRequestCannotMigrateProjectWithName', 'BadRequestNotLimitedTrial', 'BadRequestImageBatch', 'BadRequestImageStream', 'BadRequestImageURL', 'BadRequestImageFormat', 'BadRequestImageSizeBytes', 'BadRequestImageExceededCount', 'BadRequestTrainingNotNeeded', 'BadRequestTrainingNotNeededButTrainingPipelineUpdated', 'BadRequestTrainingValidationFailed', 'BadRequestClassificationTrainingValidationFailed', 'BadRequestMultiClassClassificationTrainingValidationFailed', 'BadRequestMultiLabelClassificationTrainingValidationFailed', 'BadRequestDetectionTrainingValidationFailed', 'BadRequestTrainingAlreadyInProgress', 'BadRequestDetectionTrainingNotAllowNegativeTag', 'BadRequestInvalidEmailAddress', 'BadRequestDomainNotSupportedForAdvancedTraining', 'BadRequestExportPlatformNotSupportedForAdvancedTraining', 'BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining', 'BadRequestExportValidationFailed', 'BadRequestExportAlreadyInProgress', 'BadRequestPredictionIdsMissing', 'BadRequestPredictionIdsExceededCount', 'BadRequestPredictionTagsExceededCount', 'BadRequestPredictionResultsExceededCount', 'BadRequestPredictionInvalidApplicationName', 'BadRequestPredictionInvalidQueryParameters', 'BadRequestInvalidImportToken', 'BadRequestExportWhileTraining', 'BadRequestInvalid', 'UnsupportedMediaType', 'Forbidden', 'ForbiddenUser', 'ForbiddenUserResource', 'ForbiddenUserSignupDisabled', 'ForbiddenUserSignupAllowanceExceeded', 'ForbiddenUserDoesNotExist', 'ForbiddenUserDisabled', 'ForbiddenUserInsufficientCapability', 'ForbiddenDRModeEnabled', 'ForbiddenInvalid', 'NotFound', 'NotFoundProject', 'NotFoundProjectDefaultIteration', 'NotFoundIteration', 'NotFoundIterationPerformance', 'NotFoundTag', 'NotFoundImage', 'NotFoundDomain', 'NotFoundApimSubscription', 'NotFoundInvalid', 'Conflict', 'ConflictInvalid', 'ErrorUnknown', 'ErrorIterationCopyFailed', 'ErrorPreparePerformanceMigrationFailed', 'ErrorProjectInvalidWorkspace', 'ErrorProjectInvalidPipelineConfiguration', 'ErrorProjectInvalidDomain', 'ErrorProjectTrainingRequestFailed', 'ErrorProjectImportRequestFailed', 'ErrorProjectExportRequestFailed', 'ErrorFeaturizationServiceUnavailable', 'ErrorFeaturizationQueueTimeout', 'ErrorFeaturizationInvalidFeaturizer', 'ErrorFeaturizationAugmentationUnavailable', 'ErrorFeaturizationUnrecognizedJob', 'ErrorFeaturizationAugmentationError', 'ErrorExporterInvalidPlatform', 'ErrorExporterInvalidFeaturizer', 'ErrorExporterInvalidClassifier', 'ErrorPredictionServiceUnavailable', 'ErrorPredictionModelNotFound', 'ErrorPredictionModelNotCached', 'ErrorPrediction', 'ErrorPredictionStorage', 'ErrorRegionProposal', 'ErrorInvalid'
    40  	Code CustomVisionErrorCodes `json:"code,omitempty"`
    41  	// Message - A message explaining the error reported by the service.
    42  	Message *string `json:"message,omitempty"`
    43  }
    44  
    45  // Domain ...
    46  type Domain struct {
    47  	autorest.Response `json:"-"`
    48  	// ID - READ-ONLY
    49  	ID *uuid.UUID `json:"id,omitempty"`
    50  	// Name - READ-ONLY
    51  	Name *string `json:"name,omitempty"`
    52  	// Type - READ-ONLY; Possible values include: 'Classification', 'ObjectDetection'
    53  	Type DomainType `json:"type,omitempty"`
    54  	// Exportable - READ-ONLY
    55  	Exportable *bool `json:"exportable,omitempty"`
    56  	// Enabled - READ-ONLY
    57  	Enabled *bool `json:"enabled,omitempty"`
    58  }
    59  
    60  // MarshalJSON is the custom marshaler for Domain.
    61  func (d Domain) MarshalJSON() ([]byte, error) {
    62  	objectMap := make(map[string]interface{})
    63  	return json.Marshal(objectMap)
    64  }
    65  
    66  // Export ...
    67  type Export struct {
    68  	autorest.Response `json:"-"`
    69  	// Platform - READ-ONLY; Platform of the export. Possible values include: 'CoreML', 'TensorFlow', 'DockerFile', 'ONNX', 'VAIDK'
    70  	Platform ExportPlatform `json:"platform,omitempty"`
    71  	// Status - READ-ONLY; Status of the export. Possible values include: 'Exporting', 'Failed', 'Done'
    72  	Status ExportStatus `json:"status,omitempty"`
    73  	// DownloadURI - READ-ONLY; URI used to download the model.
    74  	DownloadURI *string `json:"downloadUri,omitempty"`
    75  	// Flavor - READ-ONLY; Flavor of the export. These are specializations of the export platform.
    76  	// Docker platform has valid flavors: Linux, Windows, ARM.
    77  	// Tensorflow platform has valid flavors: TensorFlowNormal, TensorFlowLite.
    78  	// ONNX platform has valid flavors: ONNX10, ONNX12. Possible values include: 'Linux', 'Windows', 'ONNX10', 'ONNX12', 'ARM', 'TensorFlowNormal', 'TensorFlowLite'
    79  	Flavor ExportFlavor `json:"flavor,omitempty"`
    80  	// NewerVersionAvailable - READ-ONLY; Indicates an updated version of the export package is available and should be re-exported for the latest changes.
    81  	NewerVersionAvailable *bool `json:"newerVersionAvailable,omitempty"`
    82  }
    83  
    84  // MarshalJSON is the custom marshaler for Export.
    85  func (e Export) MarshalJSON() ([]byte, error) {
    86  	objectMap := make(map[string]interface{})
    87  	return json.Marshal(objectMap)
    88  }
    89  
    90  // Image image model to be sent as JSON.
    91  type Image struct {
    92  	// ID - READ-ONLY; Id of the image.
    93  	ID *uuid.UUID `json:"id,omitempty"`
    94  	// Created - READ-ONLY; Date the image was created.
    95  	Created *date.Time `json:"created,omitempty"`
    96  	// Width - READ-ONLY; Width of the image.
    97  	Width *int32 `json:"width,omitempty"`
    98  	// Height - READ-ONLY; Height of the image.
    99  	Height *int32 `json:"height,omitempty"`
   100  	// ResizedImageURI - READ-ONLY; The URI to the (resized) image used for training.
   101  	ResizedImageURI *string `json:"resizedImageUri,omitempty"`
   102  	// ThumbnailURI - READ-ONLY; The URI to the thumbnail of the original image.
   103  	ThumbnailURI *string `json:"thumbnailUri,omitempty"`
   104  	// OriginalImageURI - READ-ONLY; The URI to the original uploaded image.
   105  	OriginalImageURI *string `json:"originalImageUri,omitempty"`
   106  	// Tags - READ-ONLY; Tags associated with this image.
   107  	Tags *[]ImageTag `json:"tags,omitempty"`
   108  	// Regions - READ-ONLY; Regions associated with this image.
   109  	Regions *[]ImageRegion `json:"regions,omitempty"`
   110  }
   111  
   112  // MarshalJSON is the custom marshaler for Image.
   113  func (i Image) MarshalJSON() ([]byte, error) {
   114  	objectMap := make(map[string]interface{})
   115  	return json.Marshal(objectMap)
   116  }
   117  
   118  // ImageCreateResult ...
   119  type ImageCreateResult struct {
   120  	// SourceURL - READ-ONLY; Source URL of the image.
   121  	SourceURL *string `json:"sourceUrl,omitempty"`
   122  	// Status - READ-ONLY; Status of the image creation. Possible values include: 'ImageCreateStatusOK', 'ImageCreateStatusOKDuplicate', 'ImageCreateStatusErrorSource', 'ImageCreateStatusErrorImageFormat', 'ImageCreateStatusErrorImageSize', 'ImageCreateStatusErrorStorage', 'ImageCreateStatusErrorLimitExceed', 'ImageCreateStatusErrorTagLimitExceed', 'ImageCreateStatusErrorRegionLimitExceed', 'ImageCreateStatusErrorUnknown', 'ImageCreateStatusErrorNegativeAndRegularTagOnSameImage'
   123  	Status ImageCreateStatus `json:"status,omitempty"`
   124  	// Image - READ-ONLY; The image.
   125  	Image *Image `json:"image,omitempty"`
   126  }
   127  
   128  // MarshalJSON is the custom marshaler for ImageCreateResult.
   129  func (icr ImageCreateResult) MarshalJSON() ([]byte, error) {
   130  	objectMap := make(map[string]interface{})
   131  	return json.Marshal(objectMap)
   132  }
   133  
   134  // ImageCreateSummary ...
   135  type ImageCreateSummary struct {
   136  	autorest.Response `json:"-"`
   137  	// IsBatchSuccessful - READ-ONLY; True if all of the images in the batch were created successfully, otherwise false.
   138  	IsBatchSuccessful *bool `json:"isBatchSuccessful,omitempty"`
   139  	// Images - READ-ONLY; List of the image creation results.
   140  	Images *[]ImageCreateResult `json:"images,omitempty"`
   141  }
   142  
   143  // MarshalJSON is the custom marshaler for ImageCreateSummary.
   144  func (ics ImageCreateSummary) MarshalJSON() ([]byte, error) {
   145  	objectMap := make(map[string]interface{})
   146  	return json.Marshal(objectMap)
   147  }
   148  
   149  // ImageFileCreateBatch ...
   150  type ImageFileCreateBatch struct {
   151  	Images *[]ImageFileCreateEntry `json:"images,omitempty"`
   152  	TagIds *[]uuid.UUID            `json:"tagIds,omitempty"`
   153  }
   154  
   155  // ImageFileCreateEntry ...
   156  type ImageFileCreateEntry struct {
   157  	Name     *string      `json:"name,omitempty"`
   158  	Contents *[]byte      `json:"contents,omitempty"`
   159  	TagIds   *[]uuid.UUID `json:"tagIds,omitempty"`
   160  	Regions  *[]Region    `json:"regions,omitempty"`
   161  }
   162  
   163  // ImageIDCreateBatch ...
   164  type ImageIDCreateBatch struct {
   165  	Images *[]ImageIDCreateEntry `json:"images,omitempty"`
   166  	TagIds *[]uuid.UUID          `json:"tagIds,omitempty"`
   167  }
   168  
   169  // ImageIDCreateEntry ...
   170  type ImageIDCreateEntry struct {
   171  	// ID - Id of the image.
   172  	ID      *uuid.UUID   `json:"id,omitempty"`
   173  	TagIds  *[]uuid.UUID `json:"tagIds,omitempty"`
   174  	Regions *[]Region    `json:"regions,omitempty"`
   175  }
   176  
   177  // ImagePerformance image performance model.
   178  type ImagePerformance struct {
   179  	// Predictions - READ-ONLY
   180  	Predictions *[]Prediction `json:"predictions,omitempty"`
   181  	// ID - READ-ONLY
   182  	ID *uuid.UUID `json:"id,omitempty"`
   183  	// Created - READ-ONLY
   184  	Created *date.Time `json:"created,omitempty"`
   185  	// Width - READ-ONLY
   186  	Width *int32 `json:"width,omitempty"`
   187  	// Height - READ-ONLY
   188  	Height *int32 `json:"height,omitempty"`
   189  	// ImageURI - READ-ONLY
   190  	ImageURI *string `json:"imageUri,omitempty"`
   191  	// ThumbnailURI - READ-ONLY
   192  	ThumbnailURI *string `json:"thumbnailUri,omitempty"`
   193  	// Tags - READ-ONLY
   194  	Tags *[]ImageTag `json:"tags,omitempty"`
   195  	// Regions - READ-ONLY
   196  	Regions *[]ImageRegion `json:"regions,omitempty"`
   197  }
   198  
   199  // MarshalJSON is the custom marshaler for ImagePerformance.
   200  func (IP ImagePerformance) MarshalJSON() ([]byte, error) {
   201  	objectMap := make(map[string]interface{})
   202  	return json.Marshal(objectMap)
   203  }
   204  
   205  // ImagePrediction result of an image prediction request.
   206  type ImagePrediction struct {
   207  	autorest.Response `json:"-"`
   208  	// ID - READ-ONLY; Prediction Id.
   209  	ID *uuid.UUID `json:"id,omitempty"`
   210  	// Project - READ-ONLY; Project Id.
   211  	Project *uuid.UUID `json:"project,omitempty"`
   212  	// Iteration - READ-ONLY; Iteration Id.
   213  	Iteration *uuid.UUID `json:"iteration,omitempty"`
   214  	// Created - READ-ONLY; Date this prediction was created.
   215  	Created *date.Time `json:"created,omitempty"`
   216  	// Predictions - READ-ONLY; List of predictions.
   217  	Predictions *[]Prediction `json:"predictions,omitempty"`
   218  }
   219  
   220  // MarshalJSON is the custom marshaler for ImagePrediction.
   221  func (IP ImagePrediction) MarshalJSON() ([]byte, error) {
   222  	objectMap := make(map[string]interface{})
   223  	return json.Marshal(objectMap)
   224  }
   225  
   226  // ImageProcessingSettings represents image preprocessing settings used by image augmentation.
   227  type ImageProcessingSettings struct {
   228  	// AugmentationMethods - Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used.
   229  	// Augmentation will be uniformly distributed among enabled transforms.
   230  	AugmentationMethods map[string]*bool `json:"augmentationMethods"`
   231  }
   232  
   233  // MarshalJSON is the custom marshaler for ImageProcessingSettings.
   234  func (ips ImageProcessingSettings) MarshalJSON() ([]byte, error) {
   235  	objectMap := make(map[string]interface{})
   236  	if ips.AugmentationMethods != nil {
   237  		objectMap["augmentationMethods"] = ips.AugmentationMethods
   238  	}
   239  	return json.Marshal(objectMap)
   240  }
   241  
   242  // ImageRegion ...
   243  type ImageRegion struct {
   244  	// RegionID - READ-ONLY
   245  	RegionID *uuid.UUID `json:"regionId,omitempty"`
   246  	// TagName - READ-ONLY
   247  	TagName *string `json:"tagName,omitempty"`
   248  	// Created - READ-ONLY
   249  	Created *date.Time `json:"created,omitempty"`
   250  	// TagID - Id of the tag associated with this region.
   251  	TagID *uuid.UUID `json:"tagId,omitempty"`
   252  	// Left - Coordinate of the left boundary.
   253  	Left *float64 `json:"left,omitempty"`
   254  	// Top - Coordinate of the top boundary.
   255  	Top *float64 `json:"top,omitempty"`
   256  	// Width - Width.
   257  	Width *float64 `json:"width,omitempty"`
   258  	// Height - Height.
   259  	Height *float64 `json:"height,omitempty"`
   260  }
   261  
   262  // MarshalJSON is the custom marshaler for ImageRegion.
   263  func (ir ImageRegion) MarshalJSON() ([]byte, error) {
   264  	objectMap := make(map[string]interface{})
   265  	if ir.TagID != nil {
   266  		objectMap["tagId"] = ir.TagID
   267  	}
   268  	if ir.Left != nil {
   269  		objectMap["left"] = ir.Left
   270  	}
   271  	if ir.Top != nil {
   272  		objectMap["top"] = ir.Top
   273  	}
   274  	if ir.Width != nil {
   275  		objectMap["width"] = ir.Width
   276  	}
   277  	if ir.Height != nil {
   278  		objectMap["height"] = ir.Height
   279  	}
   280  	return json.Marshal(objectMap)
   281  }
   282  
   283  // ImageRegionCreateBatch batch of image region information to create.
   284  type ImageRegionCreateBatch struct {
   285  	Regions *[]ImageRegionCreateEntry `json:"regions,omitempty"`
   286  }
   287  
   288  // ImageRegionCreateEntry entry associating a region to an image.
   289  type ImageRegionCreateEntry struct {
   290  	// ImageID - Id of the image.
   291  	ImageID *uuid.UUID `json:"imageId,omitempty"`
   292  	// TagID - Id of the tag associated with this region.
   293  	TagID *uuid.UUID `json:"tagId,omitempty"`
   294  	// Left - Coordinate of the left boundary.
   295  	Left *float64 `json:"left,omitempty"`
   296  	// Top - Coordinate of the top boundary.
   297  	Top *float64 `json:"top,omitempty"`
   298  	// Width - Width.
   299  	Width *float64 `json:"width,omitempty"`
   300  	// Height - Height.
   301  	Height *float64 `json:"height,omitempty"`
   302  }
   303  
   304  // ImageRegionCreateResult ...
   305  type ImageRegionCreateResult struct {
   306  	// ImageID - READ-ONLY
   307  	ImageID *uuid.UUID `json:"imageId,omitempty"`
   308  	// RegionID - READ-ONLY
   309  	RegionID *uuid.UUID `json:"regionId,omitempty"`
   310  	// TagName - READ-ONLY
   311  	TagName *string `json:"tagName,omitempty"`
   312  	// Created - READ-ONLY
   313  	Created *date.Time `json:"created,omitempty"`
   314  	// TagID - Id of the tag associated with this region.
   315  	TagID *uuid.UUID `json:"tagId,omitempty"`
   316  	// Left - Coordinate of the left boundary.
   317  	Left *float64 `json:"left,omitempty"`
   318  	// Top - Coordinate of the top boundary.
   319  	Top *float64 `json:"top,omitempty"`
   320  	// Width - Width.
   321  	Width *float64 `json:"width,omitempty"`
   322  	// Height - Height.
   323  	Height *float64 `json:"height,omitempty"`
   324  }
   325  
   326  // MarshalJSON is the custom marshaler for ImageRegionCreateResult.
   327  func (ircr ImageRegionCreateResult) MarshalJSON() ([]byte, error) {
   328  	objectMap := make(map[string]interface{})
   329  	if ircr.TagID != nil {
   330  		objectMap["tagId"] = ircr.TagID
   331  	}
   332  	if ircr.Left != nil {
   333  		objectMap["left"] = ircr.Left
   334  	}
   335  	if ircr.Top != nil {
   336  		objectMap["top"] = ircr.Top
   337  	}
   338  	if ircr.Width != nil {
   339  		objectMap["width"] = ircr.Width
   340  	}
   341  	if ircr.Height != nil {
   342  		objectMap["height"] = ircr.Height
   343  	}
   344  	return json.Marshal(objectMap)
   345  }
   346  
   347  // ImageRegionCreateSummary ...
   348  type ImageRegionCreateSummary struct {
   349  	autorest.Response `json:"-"`
   350  	Created           *[]ImageRegionCreateResult `json:"created,omitempty"`
   351  	Duplicated        *[]ImageRegionCreateEntry  `json:"duplicated,omitempty"`
   352  	Exceeded          *[]ImageRegionCreateEntry  `json:"exceeded,omitempty"`
   353  }
   354  
   355  // ImageRegionProposal ...
   356  type ImageRegionProposal struct {
   357  	autorest.Response `json:"-"`
   358  	// ProjectID - READ-ONLY
   359  	ProjectID *uuid.UUID `json:"projectId,omitempty"`
   360  	// ImageID - READ-ONLY
   361  	ImageID *uuid.UUID `json:"imageId,omitempty"`
   362  	// Proposals - READ-ONLY
   363  	Proposals *[]RegionProposal `json:"proposals,omitempty"`
   364  }
   365  
   366  // MarshalJSON is the custom marshaler for ImageRegionProposal.
   367  func (irp ImageRegionProposal) MarshalJSON() ([]byte, error) {
   368  	objectMap := make(map[string]interface{})
   369  	return json.Marshal(objectMap)
   370  }
   371  
   372  // ImageTag ...
   373  type ImageTag struct {
   374  	// TagID - READ-ONLY
   375  	TagID *uuid.UUID `json:"tagId,omitempty"`
   376  	// TagName - READ-ONLY
   377  	TagName *string `json:"tagName,omitempty"`
   378  	// Created - READ-ONLY
   379  	Created *date.Time `json:"created,omitempty"`
   380  }
   381  
   382  // MarshalJSON is the custom marshaler for ImageTag.
   383  func (it ImageTag) MarshalJSON() ([]byte, error) {
   384  	objectMap := make(map[string]interface{})
   385  	return json.Marshal(objectMap)
   386  }
   387  
   388  // ImageTagCreateBatch batch of image tags.
   389  type ImageTagCreateBatch struct {
   390  	// Tags - Image Tag entries to include in this batch.
   391  	Tags *[]ImageTagCreateEntry `json:"tags,omitempty"`
   392  }
   393  
   394  // ImageTagCreateEntry entry associating a tag to an image.
   395  type ImageTagCreateEntry struct {
   396  	// ImageID - Id of the image.
   397  	ImageID *uuid.UUID `json:"imageId,omitempty"`
   398  	// TagID - Id of the tag.
   399  	TagID *uuid.UUID `json:"tagId,omitempty"`
   400  }
   401  
   402  // ImageTagCreateSummary ...
   403  type ImageTagCreateSummary struct {
   404  	autorest.Response `json:"-"`
   405  	Created           *[]ImageTagCreateEntry `json:"created,omitempty"`
   406  	Duplicated        *[]ImageTagCreateEntry `json:"duplicated,omitempty"`
   407  	Exceeded          *[]ImageTagCreateEntry `json:"exceeded,omitempty"`
   408  }
   409  
   410  // ImageURL image url.
   411  type ImageURL struct {
   412  	// URL - Url of the image.
   413  	URL *string `json:"url,omitempty"`
   414  }
   415  
   416  // ImageURLCreateBatch ...
   417  type ImageURLCreateBatch struct {
   418  	Images *[]ImageURLCreateEntry `json:"images,omitempty"`
   419  	TagIds *[]uuid.UUID           `json:"tagIds,omitempty"`
   420  }
   421  
   422  // ImageURLCreateEntry ...
   423  type ImageURLCreateEntry struct {
   424  	// URL - Url of the image.
   425  	URL     *string      `json:"url,omitempty"`
   426  	TagIds  *[]uuid.UUID `json:"tagIds,omitempty"`
   427  	Regions *[]Region    `json:"regions,omitempty"`
   428  }
   429  
   430  // Int32 ...
   431  type Int32 struct {
   432  	autorest.Response `json:"-"`
   433  	Value             *int32 `json:"value,omitempty"`
   434  }
   435  
   436  // Iteration iteration model to be sent over JSON.
   437  type Iteration struct {
   438  	autorest.Response `json:"-"`
   439  	// ID - READ-ONLY; Gets the id of the iteration.
   440  	ID *uuid.UUID `json:"id,omitempty"`
   441  	// Name - Gets or sets the name of the iteration.
   442  	Name *string `json:"name,omitempty"`
   443  	// Status - READ-ONLY; Gets the current iteration status.
   444  	Status *string `json:"status,omitempty"`
   445  	// Created - READ-ONLY; Gets the time this iteration was completed.
   446  	Created *date.Time `json:"created,omitempty"`
   447  	// LastModified - READ-ONLY; Gets the time this iteration was last modified.
   448  	LastModified *date.Time `json:"lastModified,omitempty"`
   449  	// TrainedAt - READ-ONLY; Gets the time this iteration was last modified.
   450  	TrainedAt *date.Time `json:"trainedAt,omitempty"`
   451  	// ProjectID - READ-ONLY; Gets the project id of the iteration.
   452  	ProjectID *uuid.UUID `json:"projectId,omitempty"`
   453  	// Exportable - READ-ONLY; Whether the iteration can be exported to another format for download.
   454  	Exportable *bool `json:"exportable,omitempty"`
   455  	// ExportableTo - READ-ONLY; A set of platforms this iteration can export to.
   456  	ExportableTo *[]string `json:"exportableTo,omitempty"`
   457  	// DomainID - READ-ONLY; Get or sets a guid of the domain the iteration has been trained on.
   458  	DomainID *uuid.UUID `json:"domainId,omitempty"`
   459  	// ClassificationType - READ-ONLY; Gets the classification type of the project. Possible values include: 'Multiclass', 'Multilabel'
   460  	ClassificationType Classifier `json:"classificationType,omitempty"`
   461  	// TrainingType - READ-ONLY; Gets the training type of the iteration. Possible values include: 'TypeRegular', 'TypeAdvanced'
   462  	TrainingType Type `json:"trainingType,omitempty"`
   463  	// ReservedBudgetInHours - READ-ONLY; Gets the reserved advanced training budget for the iteration.
   464  	ReservedBudgetInHours *int32 `json:"reservedBudgetInHours,omitempty"`
   465  	// TrainingTimeInMinutes - READ-ONLY; Gets the training time for the iteration.
   466  	TrainingTimeInMinutes *int32 `json:"trainingTimeInMinutes,omitempty"`
   467  	// PublishName - READ-ONLY; Name of the published model.
   468  	PublishName *string `json:"publishName,omitempty"`
   469  	// OriginalPublishResourceID - READ-ONLY; Resource Provider Id this iteration was originally published to.
   470  	OriginalPublishResourceID *string `json:"originalPublishResourceId,omitempty"`
   471  }
   472  
   473  // MarshalJSON is the custom marshaler for Iteration.
   474  func (i Iteration) MarshalJSON() ([]byte, error) {
   475  	objectMap := make(map[string]interface{})
   476  	if i.Name != nil {
   477  		objectMap["name"] = i.Name
   478  	}
   479  	return json.Marshal(objectMap)
   480  }
   481  
   482  // IterationPerformance represents the detailed performance data for a trained iteration.
   483  type IterationPerformance struct {
   484  	autorest.Response `json:"-"`
   485  	// PerTagPerformance - READ-ONLY; Gets the per-tag performance details for this iteration.
   486  	PerTagPerformance *[]TagPerformance `json:"perTagPerformance,omitempty"`
   487  	// Precision - READ-ONLY; Gets the precision.
   488  	Precision *float64 `json:"precision,omitempty"`
   489  	// PrecisionStdDeviation - READ-ONLY; Gets the standard deviation for the precision.
   490  	PrecisionStdDeviation *float64 `json:"precisionStdDeviation,omitempty"`
   491  	// Recall - READ-ONLY; Gets the recall.
   492  	Recall *float64 `json:"recall,omitempty"`
   493  	// RecallStdDeviation - READ-ONLY; Gets the standard deviation for the recall.
   494  	RecallStdDeviation *float64 `json:"recallStdDeviation,omitempty"`
   495  	// AveragePrecision - READ-ONLY; Gets the average precision when applicable.
   496  	AveragePrecision *float64 `json:"averagePrecision,omitempty"`
   497  }
   498  
   499  // MarshalJSON is the custom marshaler for IterationPerformance.
   500  func (IP IterationPerformance) MarshalJSON() ([]byte, error) {
   501  	objectMap := make(map[string]interface{})
   502  	return json.Marshal(objectMap)
   503  }
   504  
   505  // ListDomain ...
   506  type ListDomain struct {
   507  	autorest.Response `json:"-"`
   508  	Value             *[]Domain `json:"value,omitempty"`
   509  }
   510  
   511  // ListExport ...
   512  type ListExport struct {
   513  	autorest.Response `json:"-"`
   514  	Value             *[]Export `json:"value,omitempty"`
   515  }
   516  
   517  // ListImage ...
   518  type ListImage struct {
   519  	autorest.Response `json:"-"`
   520  	Value             *[]Image `json:"value,omitempty"`
   521  }
   522  
   523  // ListImagePerformance ...
   524  type ListImagePerformance struct {
   525  	autorest.Response `json:"-"`
   526  	Value             *[]ImagePerformance `json:"value,omitempty"`
   527  }
   528  
   529  // ListIteration ...
   530  type ListIteration struct {
   531  	autorest.Response `json:"-"`
   532  	Value             *[]Iteration `json:"value,omitempty"`
   533  }
   534  
   535  // ListProject ...
   536  type ListProject struct {
   537  	autorest.Response `json:"-"`
   538  	Value             *[]Project `json:"value,omitempty"`
   539  }
   540  
   541  // ListSuggestedTagAndRegion ...
   542  type ListSuggestedTagAndRegion struct {
   543  	autorest.Response `json:"-"`
   544  	Value             *[]SuggestedTagAndRegion `json:"value,omitempty"`
   545  }
   546  
   547  // ListTag ...
   548  type ListTag struct {
   549  	autorest.Response `json:"-"`
   550  	Value             *[]Tag `json:"value,omitempty"`
   551  }
   552  
   553  // Parameters parameters used for training.
   554  type Parameters struct {
   555  	// SelectedTags - List of tags selected for this training session, other tags in the project will be ignored.
   556  	SelectedTags *[]uuid.UUID `json:"selectedTags,omitempty"`
   557  }
   558  
   559  // Prediction prediction result.
   560  type Prediction struct {
   561  	// Probability - READ-ONLY; Probability of the tag.
   562  	Probability *float64 `json:"probability,omitempty"`
   563  	// TagID - READ-ONLY; Id of the predicted tag.
   564  	TagID *uuid.UUID `json:"tagId,omitempty"`
   565  	// TagName - READ-ONLY; Name of the predicted tag.
   566  	TagName *string `json:"tagName,omitempty"`
   567  	// BoundingBox - READ-ONLY; Bounding box of the prediction.
   568  	BoundingBox *BoundingBox `json:"boundingBox,omitempty"`
   569  }
   570  
   571  // MarshalJSON is the custom marshaler for Prediction.
   572  func (p Prediction) MarshalJSON() ([]byte, error) {
   573  	objectMap := make(map[string]interface{})
   574  	return json.Marshal(objectMap)
   575  }
   576  
   577  // PredictionQueryResult query result of the prediction images that were sent to your prediction endpoint.
   578  type PredictionQueryResult struct {
   579  	autorest.Response `json:"-"`
   580  	// Token - Prediction Query Token.
   581  	Token *PredictionQueryToken `json:"token,omitempty"`
   582  	// Results - READ-ONLY; Result of an prediction request.
   583  	Results *[]StoredImagePrediction `json:"results,omitempty"`
   584  }
   585  
   586  // MarshalJSON is the custom marshaler for PredictionQueryResult.
   587  func (pqr PredictionQueryResult) MarshalJSON() ([]byte, error) {
   588  	objectMap := make(map[string]interface{})
   589  	if pqr.Token != nil {
   590  		objectMap["token"] = pqr.Token
   591  	}
   592  	return json.Marshal(objectMap)
   593  }
   594  
   595  // PredictionQueryTag ...
   596  type PredictionQueryTag struct {
   597  	ID           *uuid.UUID `json:"id,omitempty"`
   598  	MinThreshold *float64   `json:"minThreshold,omitempty"`
   599  	MaxThreshold *float64   `json:"maxThreshold,omitempty"`
   600  }
   601  
   602  // PredictionQueryToken ...
   603  type PredictionQueryToken struct {
   604  	Session      *string `json:"session,omitempty"`
   605  	Continuation *string `json:"continuation,omitempty"`
   606  	MaxCount     *int32  `json:"maxCount,omitempty"`
   607  	// OrderBy - Possible values include: 'Newest', 'Oldest', 'Suggested'
   608  	OrderBy     OrderBy               `json:"orderBy,omitempty"`
   609  	Tags        *[]PredictionQueryTag `json:"tags,omitempty"`
   610  	IterationID *uuid.UUID            `json:"iterationId,omitempty"`
   611  	StartTime   *date.Time            `json:"startTime,omitempty"`
   612  	EndTime     *date.Time            `json:"endTime,omitempty"`
   613  	Application *string               `json:"application,omitempty"`
   614  }
   615  
   616  // Project represents a project.
   617  type Project struct {
   618  	autorest.Response `json:"-"`
   619  	// ID - READ-ONLY; Gets the project id.
   620  	ID *uuid.UUID `json:"id,omitempty"`
   621  	// Name - Gets or sets the name of the project.
   622  	Name *string `json:"name,omitempty"`
   623  	// Description - Gets or sets the description of the project.
   624  	Description *string `json:"description,omitempty"`
   625  	// Settings - Gets or sets the project settings.
   626  	Settings *ProjectSettings `json:"settings,omitempty"`
   627  	// Created - READ-ONLY; Gets the date this project was created.
   628  	Created *date.Time `json:"created,omitempty"`
   629  	// LastModified - READ-ONLY; Gets the date this project was last modified.
   630  	LastModified *date.Time `json:"lastModified,omitempty"`
   631  	// ThumbnailURI - READ-ONLY; Gets the thumbnail url representing the image.
   632  	ThumbnailURI *string `json:"thumbnailUri,omitempty"`
   633  	// DrModeEnabled - READ-ONLY; Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only.
   634  	DrModeEnabled *bool `json:"drModeEnabled,omitempty"`
   635  	// Status - Gets the status of the project. Possible values include: 'ProjectStatusSucceeded', 'ProjectStatusImporting', 'ProjectStatusFailed'
   636  	Status ProjectStatus `json:"status,omitempty"`
   637  }
   638  
   639  // MarshalJSON is the custom marshaler for Project.
   640  func (p Project) MarshalJSON() ([]byte, error) {
   641  	objectMap := make(map[string]interface{})
   642  	if p.Name != nil {
   643  		objectMap["name"] = p.Name
   644  	}
   645  	if p.Description != nil {
   646  		objectMap["description"] = p.Description
   647  	}
   648  	if p.Settings != nil {
   649  		objectMap["settings"] = p.Settings
   650  	}
   651  	if p.Status != "" {
   652  		objectMap["status"] = p.Status
   653  	}
   654  	return json.Marshal(objectMap)
   655  }
   656  
   657  // ProjectExport represents information about a project export.
   658  type ProjectExport struct {
   659  	autorest.Response `json:"-"`
   660  	// IterationCount - READ-ONLY; Count of iterations that will be exported.
   661  	IterationCount *int32 `json:"iterationCount,omitempty"`
   662  	// ImageCount - READ-ONLY; Count of images that will be exported.
   663  	ImageCount *int32 `json:"imageCount,omitempty"`
   664  	// TagCount - READ-ONLY; Count of tags that will be exported.
   665  	TagCount *int32 `json:"tagCount,omitempty"`
   666  	// RegionCount - READ-ONLY; Count of regions that will be exported.
   667  	RegionCount *int32 `json:"regionCount,omitempty"`
   668  	// EstimatedImportTimeInMS - READ-ONLY; Estimated time this project will take to import, can change based on network connectivity and load between
   669  	// source and destination regions.
   670  	EstimatedImportTimeInMS *int32 `json:"estimatedImportTimeInMS,omitempty"`
   671  	// Token - READ-ONLY; Opaque token that should be passed to ImportProject to perform the import. This token grants access to import this
   672  	// project to all that have the token.
   673  	Token *string `json:"token,omitempty"`
   674  }
   675  
   676  // MarshalJSON is the custom marshaler for ProjectExport.
   677  func (peVar ProjectExport) MarshalJSON() ([]byte, error) {
   678  	objectMap := make(map[string]interface{})
   679  	return json.Marshal(objectMap)
   680  }
   681  
   682  // ProjectSettings represents settings associated with a project.
   683  type ProjectSettings struct {
   684  	// DomainID - Gets or sets the id of the Domain to use with this project.
   685  	DomainID *uuid.UUID `json:"domainId,omitempty"`
   686  	// ClassificationType - Gets or sets the classification type of the project. Possible values include: 'Multiclass', 'Multilabel'
   687  	ClassificationType Classifier `json:"classificationType,omitempty"`
   688  	// TargetExportPlatforms - A list of ExportPlatform that the trained model should be able to support.
   689  	TargetExportPlatforms *[]string `json:"targetExportPlatforms,omitempty"`
   690  	// UseNegativeSet - READ-ONLY; Indicates if negative set is being used.
   691  	UseNegativeSet *bool `json:"useNegativeSet,omitempty"`
   692  	// DetectionParameters - READ-ONLY; Detection parameters in use, if any.
   693  	DetectionParameters *string `json:"detectionParameters,omitempty"`
   694  	// ImageProcessingSettings - Gets or sets image preprocessing settings.
   695  	ImageProcessingSettings *ImageProcessingSettings `json:"imageProcessingSettings,omitempty"`
   696  }
   697  
   698  // MarshalJSON is the custom marshaler for ProjectSettings.
   699  func (ps ProjectSettings) MarshalJSON() ([]byte, error) {
   700  	objectMap := make(map[string]interface{})
   701  	if ps.DomainID != nil {
   702  		objectMap["domainId"] = ps.DomainID
   703  	}
   704  	if ps.ClassificationType != "" {
   705  		objectMap["classificationType"] = ps.ClassificationType
   706  	}
   707  	if ps.TargetExportPlatforms != nil {
   708  		objectMap["targetExportPlatforms"] = ps.TargetExportPlatforms
   709  	}
   710  	if ps.ImageProcessingSettings != nil {
   711  		objectMap["imageProcessingSettings"] = ps.ImageProcessingSettings
   712  	}
   713  	return json.Marshal(objectMap)
   714  }
   715  
   716  // Region ...
   717  type Region struct {
   718  	// TagID - Id of the tag associated with this region.
   719  	TagID *uuid.UUID `json:"tagId,omitempty"`
   720  	// Left - Coordinate of the left boundary.
   721  	Left *float64 `json:"left,omitempty"`
   722  	// Top - Coordinate of the top boundary.
   723  	Top *float64 `json:"top,omitempty"`
   724  	// Width - Width.
   725  	Width *float64 `json:"width,omitempty"`
   726  	// Height - Height.
   727  	Height *float64 `json:"height,omitempty"`
   728  }
   729  
   730  // RegionProposal ...
   731  type RegionProposal struct {
   732  	// Confidence - READ-ONLY
   733  	Confidence *float64 `json:"confidence,omitempty"`
   734  	// BoundingBox - READ-ONLY
   735  	BoundingBox *BoundingBox `json:"boundingBox,omitempty"`
   736  }
   737  
   738  // MarshalJSON is the custom marshaler for RegionProposal.
   739  func (rp RegionProposal) MarshalJSON() ([]byte, error) {
   740  	objectMap := make(map[string]interface{})
   741  	return json.Marshal(objectMap)
   742  }
   743  
   744  // SetInt32 ...
   745  type SetInt32 struct {
   746  	autorest.Response `json:"-"`
   747  	Value             map[string]*int32 `json:"value"`
   748  }
   749  
   750  // MarshalJSON is the custom marshaler for SetInt32.
   751  func (si3 SetInt32) MarshalJSON() ([]byte, error) {
   752  	objectMap := make(map[string]interface{})
   753  	if si3.Value != nil {
   754  		objectMap["value"] = si3.Value
   755  	}
   756  	return json.Marshal(objectMap)
   757  }
   758  
   759  // StoredImagePrediction result of an image prediction request.
   760  type StoredImagePrediction struct {
   761  	// ResizedImageURI - READ-ONLY; The URI to the (resized) prediction image.
   762  	ResizedImageURI *string `json:"resizedImageUri,omitempty"`
   763  	// ThumbnailURI - READ-ONLY; The URI to the thumbnail of the original prediction image.
   764  	ThumbnailURI *string `json:"thumbnailUri,omitempty"`
   765  	// OriginalImageURI - READ-ONLY; The URI to the original prediction image.
   766  	OriginalImageURI *string `json:"originalImageUri,omitempty"`
   767  	// Domain - READ-ONLY; Domain used for the prediction.
   768  	Domain *uuid.UUID `json:"domain,omitempty"`
   769  	// ID - READ-ONLY; Prediction Id.
   770  	ID *uuid.UUID `json:"id,omitempty"`
   771  	// Project - READ-ONLY; Project Id.
   772  	Project *uuid.UUID `json:"project,omitempty"`
   773  	// Iteration - READ-ONLY; Iteration Id.
   774  	Iteration *uuid.UUID `json:"iteration,omitempty"`
   775  	// Created - READ-ONLY; Date this prediction was created.
   776  	Created *date.Time `json:"created,omitempty"`
   777  	// Predictions - READ-ONLY; List of predictions.
   778  	Predictions *[]Prediction `json:"predictions,omitempty"`
   779  }
   780  
   781  // MarshalJSON is the custom marshaler for StoredImagePrediction.
   782  func (sip StoredImagePrediction) MarshalJSON() ([]byte, error) {
   783  	objectMap := make(map[string]interface{})
   784  	return json.Marshal(objectMap)
   785  }
   786  
   787  // StoredSuggestedTagAndRegion result of a suggested tags and regions request of the untagged image.
   788  type StoredSuggestedTagAndRegion struct {
   789  	// Width - READ-ONLY; Width of the resized image.
   790  	Width *int32 `json:"width,omitempty"`
   791  	// Height - READ-ONLY; Height of the resized image.
   792  	Height *int32 `json:"height,omitempty"`
   793  	// ResizedImageURI - READ-ONLY; The URI to the (resized) prediction image.
   794  	ResizedImageURI *string `json:"resizedImageUri,omitempty"`
   795  	// ThumbnailURI - READ-ONLY; The URI to the thumbnail of the original prediction image.
   796  	ThumbnailURI *string `json:"thumbnailUri,omitempty"`
   797  	// OriginalImageURI - READ-ONLY; The URI to the original prediction image.
   798  	OriginalImageURI *string `json:"originalImageUri,omitempty"`
   799  	// Domain - READ-ONLY; Domain used for the prediction.
   800  	Domain *uuid.UUID `json:"domain,omitempty"`
   801  	// ID - READ-ONLY; Prediction Id.
   802  	ID *uuid.UUID `json:"id,omitempty"`
   803  	// Project - READ-ONLY; Project Id.
   804  	Project *uuid.UUID `json:"project,omitempty"`
   805  	// Iteration - READ-ONLY; Iteration Id.
   806  	Iteration *uuid.UUID `json:"iteration,omitempty"`
   807  	// Created - READ-ONLY; Date this prediction was created.
   808  	Created *date.Time `json:"created,omitempty"`
   809  	// Predictions - READ-ONLY; List of predictions.
   810  	Predictions *[]Prediction `json:"predictions,omitempty"`
   811  	// PredictionUncertainty - READ-ONLY; Uncertainty (entropy) of suggested tags or regions per image.
   812  	PredictionUncertainty *float64 `json:"predictionUncertainty,omitempty"`
   813  }
   814  
   815  // MarshalJSON is the custom marshaler for StoredSuggestedTagAndRegion.
   816  func (sstar StoredSuggestedTagAndRegion) MarshalJSON() ([]byte, error) {
   817  	objectMap := make(map[string]interface{})
   818  	return json.Marshal(objectMap)
   819  }
   820  
   821  // SuggestedTagAndRegion result of a suggested tags and regions request.
   822  type SuggestedTagAndRegion struct {
   823  	// ID - READ-ONLY; Prediction Id.
   824  	ID *uuid.UUID `json:"id,omitempty"`
   825  	// Project - READ-ONLY; Project Id.
   826  	Project *uuid.UUID `json:"project,omitempty"`
   827  	// Iteration - READ-ONLY; Iteration Id.
   828  	Iteration *uuid.UUID `json:"iteration,omitempty"`
   829  	// Created - READ-ONLY; Date this prediction was created.
   830  	Created *date.Time `json:"created,omitempty"`
   831  	// Predictions - READ-ONLY; List of predictions.
   832  	Predictions *[]Prediction `json:"predictions,omitempty"`
   833  	// PredictionUncertainty - READ-ONLY; Uncertainty (entropy) of suggested tags or regions per image.
   834  	PredictionUncertainty *float64 `json:"predictionUncertainty,omitempty"`
   835  }
   836  
   837  // MarshalJSON is the custom marshaler for SuggestedTagAndRegion.
   838  func (star SuggestedTagAndRegion) MarshalJSON() ([]byte, error) {
   839  	objectMap := make(map[string]interface{})
   840  	return json.Marshal(objectMap)
   841  }
   842  
   843  // SuggestedTagAndRegionQuery the array of result images and token containing session and continuation Ids
   844  // for the next query.
   845  type SuggestedTagAndRegionQuery struct {
   846  	autorest.Response `json:"-"`
   847  	// Token - Contains properties we need to fetch suggested tags for.
   848  	Token *SuggestedTagAndRegionQueryToken `json:"token,omitempty"`
   849  	// Results - READ-ONLY; Result of a suggested tags and regions request of the untagged image.
   850  	Results *[]StoredSuggestedTagAndRegion `json:"results,omitempty"`
   851  }
   852  
   853  // MarshalJSON is the custom marshaler for SuggestedTagAndRegionQuery.
   854  func (starq SuggestedTagAndRegionQuery) MarshalJSON() ([]byte, error) {
   855  	objectMap := make(map[string]interface{})
   856  	if starq.Token != nil {
   857  		objectMap["token"] = starq.Token
   858  	}
   859  	return json.Marshal(objectMap)
   860  }
   861  
   862  // SuggestedTagAndRegionQueryToken contains properties we need to fetch suggested tags for. For the first
   863  // call, Session and continuation set to null.
   864  // Then on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery
   865  // result to fetch additional results.
   866  type SuggestedTagAndRegionQueryToken struct {
   867  	// TagIds - Existing TagIds in project to filter suggested tags on.
   868  	TagIds *[]uuid.UUID `json:"tagIds,omitempty"`
   869  	// Threshold - Confidence threshold to filter suggested tags on.
   870  	Threshold *float64 `json:"threshold,omitempty"`
   871  	// Session - SessionId for database query. Initially set to null but later used to paginate.
   872  	Session *string `json:"session,omitempty"`
   873  	// Continuation - Continuation Id for database pagination. Initially null but later used to paginate.
   874  	Continuation *string `json:"continuation,omitempty"`
   875  	// MaxCount - Maximum number of results you want to be returned in the response.
   876  	MaxCount *int32 `json:"maxCount,omitempty"`
   877  	// SortBy - OrderBy. Ordering mechanism for your results. Possible values include: 'UncertaintyAscending', 'UncertaintyDescending'
   878  	SortBy SortBy `json:"sortBy,omitempty"`
   879  }
   880  
   881  // Tag represents a Tag.
   882  type Tag struct {
   883  	autorest.Response `json:"-"`
   884  	// ID - READ-ONLY; Gets the Tag ID.
   885  	ID *uuid.UUID `json:"id,omitempty"`
   886  	// Name - Gets or sets the name of the tag.
   887  	Name *string `json:"name,omitempty"`
   888  	// Description - Gets or sets the description of the tag.
   889  	Description *string `json:"description,omitempty"`
   890  	// Type - Gets or sets the type of the tag. Possible values include: 'Regular', 'Negative'
   891  	Type TagType `json:"type,omitempty"`
   892  	// ImageCount - READ-ONLY; Gets the number of images with this tag.
   893  	ImageCount *int32 `json:"imageCount,omitempty"`
   894  }
   895  
   896  // MarshalJSON is the custom marshaler for Tag.
   897  func (t Tag) MarshalJSON() ([]byte, error) {
   898  	objectMap := make(map[string]interface{})
   899  	if t.Name != nil {
   900  		objectMap["name"] = t.Name
   901  	}
   902  	if t.Description != nil {
   903  		objectMap["description"] = t.Description
   904  	}
   905  	if t.Type != "" {
   906  		objectMap["type"] = t.Type
   907  	}
   908  	return json.Marshal(objectMap)
   909  }
   910  
   911  // TagFilter model that query for counting of images whose suggested tags match given tags and their
   912  // probability are greater than or equal to the given threshold.
   913  type TagFilter struct {
   914  	// TagIds - Existing TagIds in project to get suggested tags count for.
   915  	TagIds *[]uuid.UUID `json:"tagIds,omitempty"`
   916  	// Threshold - Confidence threshold to filter suggested tags on.
   917  	Threshold *float64 `json:"threshold,omitempty"`
   918  }
   919  
   920  // TagPerformance represents performance data for a particular tag in a trained iteration.
   921  type TagPerformance struct {
   922  	// ID - READ-ONLY
   923  	ID *uuid.UUID `json:"id,omitempty"`
   924  	// Name - READ-ONLY
   925  	Name *string `json:"name,omitempty"`
   926  	// Precision - READ-ONLY; Gets the precision.
   927  	Precision *float64 `json:"precision,omitempty"`
   928  	// PrecisionStdDeviation - READ-ONLY; Gets the standard deviation for the precision.
   929  	PrecisionStdDeviation *float64 `json:"precisionStdDeviation,omitempty"`
   930  	// Recall - READ-ONLY; Gets the recall.
   931  	Recall *float64 `json:"recall,omitempty"`
   932  	// RecallStdDeviation - READ-ONLY; Gets the standard deviation for the recall.
   933  	RecallStdDeviation *float64 `json:"recallStdDeviation,omitempty"`
   934  	// AveragePrecision - READ-ONLY; Gets the average precision when applicable.
   935  	AveragePrecision *float64 `json:"averagePrecision,omitempty"`
   936  }
   937  
   938  // MarshalJSON is the custom marshaler for TagPerformance.
   939  func (tp TagPerformance) MarshalJSON() ([]byte, error) {
   940  	objectMap := make(map[string]interface{})
   941  	return json.Marshal(objectMap)
   942  }
   943  

View as plain text