...

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

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

View as plain text