diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/BatchOptions.Serialization.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/BatchOptions.Serialization.cs new file mode 100644 index 000000000000..82614757ba7b --- /dev/null +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/BatchOptions.Serialization.cs @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.ClientModel.Primitives; +using System.Collections.Generic; +using System.Text.Json; +using Azure.Core; + +namespace Azure.AI.Translation.Document +{ + public partial class BatchOptions : IUtf8JsonSerializable, IJsonModel + { + void IUtf8JsonSerializable.Write(Utf8JsonWriter writer) => ((IJsonModel)this).Write(writer, ModelSerializationExtensions.WireOptions); + + void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(BatchOptions)} does not support writing '{format}' format."); + } + + writer.WriteStartObject(); + if (Optional.IsDefined(TranslateTextWithinImage)) + { + writer.WritePropertyName("translateTextWithinImage"u8); + writer.WriteBooleanValue(TranslateTextWithinImage.Value); + } + if (options.Format != "W" && _serializedAdditionalRawData != null) + { + foreach (var item in _serializedAdditionalRawData) + { + writer.WritePropertyName(item.Key); +#if NET6_0_OR_GREATER + writer.WriteRawValue(item.Value); +#else + using (JsonDocument document = JsonDocument.Parse(item.Value)) + { + JsonSerializer.Serialize(writer, document.RootElement); + } +#endif + } + } + writer.WriteEndObject(); + } + + BatchOptions IJsonModel.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + if (format != "J") + { + throw new FormatException($"The model {nameof(BatchOptions)} does not support reading '{format}' format."); + } + + using JsonDocument document = JsonDocument.ParseValue(ref reader); + return DeserializeBatchOptions(document.RootElement, options); + } + + internal static BatchOptions DeserializeBatchOptions(JsonElement element, ModelReaderWriterOptions options = null) + { + options ??= ModelSerializationExtensions.WireOptions; + + if (element.ValueKind == JsonValueKind.Null) + { + return null; + } + bool? translateTextWithinImage = default; + IDictionary serializedAdditionalRawData = default; + Dictionary rawDataDictionary = new Dictionary(); + foreach (var property in element.EnumerateObject()) + { + if (property.NameEquals("translateTextWithinImage"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + translateTextWithinImage = property.Value.GetBoolean(); + continue; + } + if (options.Format != "W") + { + rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); + } + } + serializedAdditionalRawData = rawDataDictionary; + return new BatchOptions(translateTextWithinImage, serializedAdditionalRawData); + } + + BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + return ModelReaderWriter.Write(this, options); + default: + throw new FormatException($"The model {nameof(BatchOptions)} does not support writing '{options.Format}' format."); + } + } + + BatchOptions IPersistableModel.Create(BinaryData data, ModelReaderWriterOptions options) + { + var format = options.Format == "W" ? ((IPersistableModel)this).GetFormatFromOptions(options) : options.Format; + + switch (format) + { + case "J": + { + using JsonDocument document = JsonDocument.Parse(data); + return DeserializeBatchOptions(document.RootElement, options); + } + default: + throw new FormatException($"The model {nameof(BatchOptions)} does not support reading '{options.Format}' format."); + } + } + + string IPersistableModel.GetFormatFromOptions(ModelReaderWriterOptions options) => "J"; + + /// Deserializes the model from a raw response. + /// The response to deserialize the model from. + internal static BatchOptions FromResponse(Response response) + { + using var document = JsonDocument.Parse(response.Content); + return DeserializeBatchOptions(document.RootElement); + } + + /// Convert into a . + internal virtual RequestContent ToRequestContent() + { + var content = new Utf8JsonRequestContent(); + content.JsonWriter.WriteObjectValue(this, ModelSerializationExtensions.WireOptions); + return content; + } + } +} diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/BatchOptions.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/BatchOptions.cs new file mode 100644 index 000000000000..8ddbbf8d7ceb --- /dev/null +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/BatchOptions.cs @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +// + +#nullable disable + +using System; +using System.Collections.Generic; + +namespace Azure.AI.Translation.Document +{ + /// Translation batch request options. + public partial class BatchOptions + { + /// + /// Keeps track of any properties unknown to the library. + /// + /// To assign an object to the value of this property use . + /// + /// + /// To assign an already formatted json string to this property use . + /// + /// + /// Examples: + /// + /// + /// BinaryData.FromObjectAsJson("foo") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromString("\"foo\"") + /// Creates a payload of "foo". + /// + /// + /// BinaryData.FromObjectAsJson(new { key = "value" }) + /// Creates a payload of { "key": "value" }. + /// + /// + /// BinaryData.FromString("{\"key\": \"value\"}") + /// Creates a payload of { "key": "value" }. + /// + /// + /// + /// + private IDictionary _serializedAdditionalRawData; + + /// Initializes a new instance of . + public BatchOptions() + { + } + + /// Initializes a new instance of . + /// Translation text within an image option. + /// Keeps track of any properties unknown to the library. + internal BatchOptions(bool? translateTextWithinImage, IDictionary serializedAdditionalRawData) + { + TranslateTextWithinImage = translateTextWithinImage; + _serializedAdditionalRawData = serializedAdditionalRawData; + } + + /// Translation text within an image option. + public bool? TranslateTextWithinImage { get; set; } + } +} diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.Serialization.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.Serialization.cs index b86f5dd40c52..1a6320eafda6 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.Serialization.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.Serialization.cs @@ -52,6 +52,16 @@ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWr writer.WriteStringValue(Id); writer.WritePropertyName("characterCharged"u8); writer.WriteNumberValue(CharactersCharged); + if (Optional.IsDefined(TotalImageScansSucceeded)) + { + writer.WritePropertyName("totalImageScansSucceeded"u8); + writer.WriteNumberValue(TotalImageScansSucceeded.Value); + } + if (Optional.IsDefined(TotalImageScansFailed)) + { + writer.WritePropertyName("totalImageScansFailed"u8); + writer.WriteNumberValue(TotalImageScansFailed.Value); + } if (options.Format != "W" && _serializedAdditionalRawData != null) { foreach (var item in _serializedAdditionalRawData) @@ -100,6 +110,8 @@ internal static DocumentStatusResult DeserializeDocumentStatusResult(JsonElement float progress = default; string id = default; long characterCharged = default; + int? totalImageScansSucceeded = default; + int? totalImageScansFailed = default; IDictionary serializedAdditionalRawData = default; Dictionary rawDataDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) @@ -162,6 +174,24 @@ internal static DocumentStatusResult DeserializeDocumentStatusResult(JsonElement characterCharged = property.Value.GetInt64(); continue; } + if (property.NameEquals("totalImageScansSucceeded"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + totalImageScansSucceeded = property.Value.GetInt32(); + continue; + } + if (property.NameEquals("totalImageScansFailed"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + totalImageScansFailed = property.Value.GetInt32(); + continue; + } if (options.Format != "W") { rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); @@ -179,6 +209,8 @@ internal static DocumentStatusResult DeserializeDocumentStatusResult(JsonElement progress, id, characterCharged, + totalImageScansSucceeded, + totalImageScansFailed, serializedAdditionalRawData); } diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.cs index ad2734f53e62..70297a750585 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentStatusResult.cs @@ -84,8 +84,10 @@ internal DocumentStatusResult(Uri sourceDocumentUri, DateTimeOffset createdOn, D /// Progress of the translation if available. /// Document Id. /// Character charged by the API. + /// Total image scans charged by the API. + /// Total image scans failed. /// Keeps track of any properties unknown to the library. - internal DocumentStatusResult(Uri translatedDocumentUri, Uri sourceDocumentUri, DateTimeOffset createdOn, DateTimeOffset lastModified, DocumentTranslationStatus status, string translatedToLanguageCode, JsonElement error, float progress, string id, long charactersCharged, IDictionary serializedAdditionalRawData) + internal DocumentStatusResult(Uri translatedDocumentUri, Uri sourceDocumentUri, DateTimeOffset createdOn, DateTimeOffset lastModified, DocumentTranslationStatus status, string translatedToLanguageCode, JsonElement error, float progress, string id, long charactersCharged, int? totalImageScansSucceeded, int? totalImageScansFailed, IDictionary serializedAdditionalRawData) { TranslatedDocumentUri = translatedDocumentUri; SourceDocumentUri = sourceDocumentUri; @@ -97,6 +99,8 @@ internal DocumentStatusResult(Uri translatedDocumentUri, Uri sourceDocumentUri, Progress = progress; Id = id; CharactersCharged = charactersCharged; + TotalImageScansSucceeded = totalImageScansSucceeded; + TotalImageScansFailed = totalImageScansFailed; _serializedAdditionalRawData = serializedAdditionalRawData; } @@ -104,5 +108,9 @@ internal DocumentStatusResult(Uri translatedDocumentUri, Uri sourceDocumentUri, internal DocumentStatusResult() { } + /// Total image scans charged by the API. + public int? TotalImageScansSucceeded { get; } + /// Total image scans failed. + public int? TotalImageScansFailed { get; } } } diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentTranslationClientOptions.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentTranslationClientOptions.cs index fc44e6926c9c..973affa55f5d 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentTranslationClientOptions.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/DocumentTranslationClientOptions.cs @@ -13,13 +13,15 @@ namespace Azure.AI.Translation.Document /// Client options for Azure.AI.Translation.Document library clients. public partial class DocumentTranslationClientOptions : ClientOptions { - private const ServiceVersion LatestVersion = ServiceVersion.V2024_05_01; + private const ServiceVersion LatestVersion = ServiceVersion.V2024_11_01_Preview; /// The version of the service to use. public enum ServiceVersion { /// Service version "2024-05-01". V2024_05_01 = 1, + /// Service version "2024-11-01-preview". + V2024_11_01_Preview = 2, } internal string Version { get; } diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/SingleDocumentTranslationClient.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/SingleDocumentTranslationClient.cs index 2f99db2b3d0d..25acf7194b2f 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/SingleDocumentTranslationClient.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/SingleDocumentTranslationClient.cs @@ -109,17 +109,18 @@ public SingleDocumentTranslationClient(Uri endpoint, TokenCredential credential, /// Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. /// Possible values are: true (default) or false. /// + /// Optional boolean parameter to translate text within an image in the document. /// The cancellation token to use. /// or is null. /// Use this API to submit a single translation request to the Document Translation Service. - public virtual async Task> TranslateAsync(string targetLanguage, DocumentTranslateContent documentTranslateContent, string sourceLanguage = null, string category = null, bool? allowFallback = null, CancellationToken cancellationToken = default) + public virtual async Task> TranslateAsync(string targetLanguage, DocumentTranslateContent documentTranslateContent, string sourceLanguage = null, string category = null, bool? allowFallback = null, bool? translateTextWithinImage = null, CancellationToken cancellationToken = default) { Argument.AssertNotNull(targetLanguage, nameof(targetLanguage)); Argument.AssertNotNull(documentTranslateContent, nameof(documentTranslateContent)); using MultipartFormDataRequestContent content = documentTranslateContent.ToMultipartRequestContent(); RequestContext context = FromCancellationToken(cancellationToken); - Response response = await TranslateAsync(targetLanguage, content, content.ContentType, sourceLanguage, category, allowFallback, context).ConfigureAwait(false); + Response response = await TranslateAsync(targetLanguage, content, content.ContentType, sourceLanguage, category, allowFallback, translateTextWithinImage, context).ConfigureAwait(false); return Response.FromValue(response.Content, response); } @@ -144,17 +145,18 @@ public virtual async Task> TranslateAsync(string targetLang /// Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. /// Possible values are: true (default) or false. /// + /// Optional boolean parameter to translate text within an image in the document. /// The cancellation token to use. /// or is null. /// Use this API to submit a single translation request to the Document Translation Service. - public virtual Response Translate(string targetLanguage, DocumentTranslateContent documentTranslateContent, string sourceLanguage = null, string category = null, bool? allowFallback = null, CancellationToken cancellationToken = default) + public virtual Response Translate(string targetLanguage, DocumentTranslateContent documentTranslateContent, string sourceLanguage = null, string category = null, bool? allowFallback = null, bool? translateTextWithinImage = null, CancellationToken cancellationToken = default) { Argument.AssertNotNull(targetLanguage, nameof(targetLanguage)); Argument.AssertNotNull(documentTranslateContent, nameof(documentTranslateContent)); using MultipartFormDataRequestContent content = documentTranslateContent.ToMultipartRequestContent(); RequestContext context = FromCancellationToken(cancellationToken); - Response response = Translate(targetLanguage, content, content.ContentType, sourceLanguage, category, allowFallback, context); + Response response = Translate(targetLanguage, content, content.ContentType, sourceLanguage, category, allowFallback, translateTextWithinImage, context); return Response.FromValue(response.Content, response); } @@ -168,7 +170,7 @@ public virtual Response Translate(string targetLanguage, DocumentTra /// /// /// - /// Please try the simpler convenience overload with strongly typed models first. + /// Please try the simpler convenience overload with strongly typed models first. /// /// /// @@ -194,11 +196,12 @@ public virtual Response Translate(string targetLanguage, DocumentTra /// Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. /// Possible values are: true (default) or false. /// + /// Optional boolean parameter to translate text within an image in the document. /// The request context, which can override default behaviors of the client pipeline on a per-call basis. /// or is null. /// Service returned a non-success status code. /// The response returned from the service. - public virtual async Task TranslateAsync(string targetLanguage, RequestContent content, string contentType, string sourceLanguage = null, string category = null, bool? allowFallback = null, RequestContext context = null) + public virtual async Task TranslateAsync(string targetLanguage, RequestContent content, string contentType, string sourceLanguage = null, string category = null, bool? allowFallback = null, bool? translateTextWithinImage = null, RequestContext context = null) { Argument.AssertNotNull(targetLanguage, nameof(targetLanguage)); Argument.AssertNotNull(content, nameof(content)); @@ -207,7 +210,7 @@ public virtual async Task TranslateAsync(string targetLanguage, Reques scope.Start(); try { - using HttpMessage message = CreateTranslateRequest(targetLanguage, content, contentType, sourceLanguage, category, allowFallback, context); + using HttpMessage message = CreateTranslateRequest(targetLanguage, content, contentType, sourceLanguage, category, allowFallback, translateTextWithinImage, context); return await _pipeline.ProcessMessageAsync(message, context).ConfigureAwait(false); } catch (Exception e) @@ -227,7 +230,7 @@ public virtual async Task TranslateAsync(string targetLanguage, Reques /// /// /// - /// Please try the simpler convenience overload with strongly typed models first. + /// Please try the simpler convenience overload with strongly typed models first. /// /// /// @@ -253,11 +256,12 @@ public virtual async Task TranslateAsync(string targetLanguage, Reques /// Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. /// Possible values are: true (default) or false. /// + /// Optional boolean parameter to translate text within an image in the document. /// The request context, which can override default behaviors of the client pipeline on a per-call basis. /// or is null. /// Service returned a non-success status code. /// The response returned from the service. - public virtual Response Translate(string targetLanguage, RequestContent content, string contentType, string sourceLanguage = null, string category = null, bool? allowFallback = null, RequestContext context = null) + public virtual Response Translate(string targetLanguage, RequestContent content, string contentType, string sourceLanguage = null, string category = null, bool? allowFallback = null, bool? translateTextWithinImage = null, RequestContext context = null) { Argument.AssertNotNull(targetLanguage, nameof(targetLanguage)); Argument.AssertNotNull(content, nameof(content)); @@ -266,7 +270,7 @@ public virtual Response Translate(string targetLanguage, RequestContent content, scope.Start(); try { - using HttpMessage message = CreateTranslateRequest(targetLanguage, content, contentType, sourceLanguage, category, allowFallback, context); + using HttpMessage message = CreateTranslateRequest(targetLanguage, content, contentType, sourceLanguage, category, allowFallback, translateTextWithinImage, context); return _pipeline.ProcessMessage(message, context); } catch (Exception e) @@ -276,7 +280,7 @@ public virtual Response Translate(string targetLanguage, RequestContent content, } } - internal HttpMessage CreateTranslateRequest(string targetLanguage, RequestContent content, string contentType, string sourceLanguage, string category, bool? allowFallback, RequestContext context) + internal HttpMessage CreateTranslateRequest(string targetLanguage, RequestContent content, string contentType, string sourceLanguage, string category, bool? allowFallback, bool? translateTextWithinImage, RequestContext context) { var message = _pipeline.CreateMessage(context, ResponseClassifier200); var request = message.Request; @@ -299,6 +303,10 @@ internal HttpMessage CreateTranslateRequest(string targetLanguage, RequestConten { uri.AppendQuery("allowFallback", allowFallback.Value, true); } + if (translateTextWithinImage != null) + { + uri.AppendQuery("translateTextWithinImage", translateTextWithinImage.Value, true); + } request.Uri = uri; request.Headers.Add("Accept", "application/octet-stream"); request.Headers.Add("Content-Type", contentType); diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.Serialization.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.Serialization.cs index 49bf3926d1f9..6b36da9ab4ac 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.Serialization.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.Serialization.cs @@ -33,6 +33,11 @@ void IJsonModel.Write(Utf8JsonWriter writer, ModelReaderWriter writer.WriteObjectValue(item, options); } writer.WriteEndArray(); + if (Optional.IsDefined(Options)) + { + writer.WritePropertyName("options"u8); + writer.WriteObjectValue(Options, options); + } if (options.Format != "W" && _serializedAdditionalRawData != null) { foreach (var item in _serializedAdditionalRawData) @@ -72,6 +77,7 @@ internal static TranslationBatch DeserializeTranslationBatch(JsonElement element return null; } IList inputs = default; + BatchOptions options0 = default; IDictionary serializedAdditionalRawData = default; Dictionary rawDataDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) @@ -86,13 +92,22 @@ internal static TranslationBatch DeserializeTranslationBatch(JsonElement element inputs = array; continue; } + if (property.NameEquals("options"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + options0 = BatchOptions.DeserializeBatchOptions(property.Value, options); + continue; + } if (options.Format != "W") { rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); } } serializedAdditionalRawData = rawDataDictionary; - return new TranslationBatch(inputs, serializedAdditionalRawData); + return new TranslationBatch(inputs, options0, serializedAdditionalRawData); } BinaryData IPersistableModel.Write(ModelReaderWriterOptions options) diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.cs index 82b309b8ec6a..5309362b29dc 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationBatch.cs @@ -58,10 +58,12 @@ public TranslationBatch(IEnumerable inputs) /// Initializes a new instance of . /// The input list of documents or folders containing documents. + /// The batch operation options. /// Keeps track of any properties unknown to the library. - internal TranslationBatch(IList inputs, IDictionary serializedAdditionalRawData) + internal TranslationBatch(IList inputs, BatchOptions options, IDictionary serializedAdditionalRawData) { Inputs = inputs; + Options = options; _serializedAdditionalRawData = serializedAdditionalRawData; } @@ -72,5 +74,7 @@ internal TranslationBatch() /// The input list of documents or folders containing documents. public IList Inputs { get; } + /// The batch operation options. + public BatchOptions Options { get; set; } } } diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.Serialization.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.Serialization.cs index c07ff6f85e77..964066dcf022 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.Serialization.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.Serialization.cs @@ -40,6 +40,16 @@ void IJsonModel.Write(Utf8JsonWriter writer, ModelRead writer.WriteNumberValue(Cancelled); writer.WritePropertyName("totalCharacterCharged"u8); writer.WriteNumberValue(TotalCharacterCharged); + if (Optional.IsDefined(TotalImageScansSucceeded)) + { + writer.WritePropertyName("totalImageScansSucceeded"u8); + writer.WriteNumberValue(TotalImageScansSucceeded.Value); + } + if (Optional.IsDefined(TotalImageScansFailed)) + { + writer.WritePropertyName("totalImageScansFailed"u8); + writer.WriteNumberValue(TotalImageScansFailed.Value); + } if (options.Format != "W" && _serializedAdditionalRawData != null) { foreach (var item in _serializedAdditionalRawData) @@ -85,6 +95,8 @@ internal static TranslationStatusSummary DeserializeTranslationStatusSummary(Jso int notYetStarted = default; int cancelled = default; long totalCharacterCharged = default; + int? totalImageScansSucceeded = default; + int? totalImageScansFailed = default; IDictionary serializedAdditionalRawData = default; Dictionary rawDataDictionary = new Dictionary(); foreach (var property in element.EnumerateObject()) @@ -124,6 +136,24 @@ internal static TranslationStatusSummary DeserializeTranslationStatusSummary(Jso totalCharacterCharged = property.Value.GetInt64(); continue; } + if (property.NameEquals("totalImageScansSucceeded"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + totalImageScansSucceeded = property.Value.GetInt32(); + continue; + } + if (property.NameEquals("totalImageScansFailed"u8)) + { + if (property.Value.ValueKind == JsonValueKind.Null) + { + continue; + } + totalImageScansFailed = property.Value.GetInt32(); + continue; + } if (options.Format != "W") { rawDataDictionary.Add(property.Name, BinaryData.FromString(property.Value.GetRawText())); @@ -138,6 +168,8 @@ internal static TranslationStatusSummary DeserializeTranslationStatusSummary(Jso notYetStarted, cancelled, totalCharacterCharged, + totalImageScansSucceeded, + totalImageScansFailed, serializedAdditionalRawData); } diff --git a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.cs b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.cs index 624bb2883520..b855d6e543b7 100644 --- a/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.cs +++ b/sdk/translation/Azure.AI.Translation.Document/src/Generated/TranslationStatusSummary.cs @@ -72,8 +72,10 @@ internal TranslationStatusSummary(int total, int failed, int success, int inProg /// Count of not yet started. /// Number of cancelled. /// Total characters charged by the API. + /// Total image scans charged by the API. + /// Total image scans failed. /// Keeps track of any properties unknown to the library. - internal TranslationStatusSummary(int total, int failed, int success, int inProgress, int notYetStarted, int cancelled, long totalCharacterCharged, IDictionary serializedAdditionalRawData) + internal TranslationStatusSummary(int total, int failed, int success, int inProgress, int notYetStarted, int cancelled, long totalCharacterCharged, int? totalImageScansSucceeded, int? totalImageScansFailed, IDictionary serializedAdditionalRawData) { Total = total; Failed = failed; @@ -82,6 +84,8 @@ internal TranslationStatusSummary(int total, int failed, int success, int inProg NotYetStarted = notYetStarted; Cancelled = cancelled; TotalCharacterCharged = totalCharacterCharged; + TotalImageScansSucceeded = totalImageScansSucceeded; + TotalImageScansFailed = totalImageScansFailed; _serializedAdditionalRawData = serializedAdditionalRawData; } @@ -104,5 +108,9 @@ internal TranslationStatusSummary() public int Cancelled { get; } /// Total characters charged by the API. public long TotalCharacterCharged { get; } + /// Total image scans charged by the API. + public int? TotalImageScansSucceeded { get; } + /// Total image scans failed. + public int? TotalImageScansFailed { get; } } } diff --git a/sdk/translation/Azure.AI.Translation.Document/tsp-location.yaml b/sdk/translation/Azure.AI.Translation.Document/tsp-location.yaml index d24a8e80f9e1..bd1783d54c7f 100644 --- a/sdk/translation/Azure.AI.Translation.Document/tsp-location.yaml +++ b/sdk/translation/Azure.AI.Translation.Document/tsp-location.yaml @@ -1,3 +1,4 @@ directory: specification/translation/Azure.AI.DocumentTranslation -commit: a3920ed4082bec9544ac1ae75fc8abba363be7d0 +commit: 3c7d9757d8b40ac523e10d7b79ad57afca0f66bd repo: Azure/azure-rest-api-specs +additionalDirectories: