From 7763b80fddbc6b64ae5b8b468705c5e81dd6f2f5 Mon Sep 17 00:00:00 2001 From: azure-sdk Date: Tue, 19 Mar 2024 01:45:32 +0000 Subject: [PATCH] [Automation] Generate SDK based on TypeSpec 0.15.3 --- eng/emitter-package-lock.json | 726 +----- eng/emitter-package.json | 12 +- .../JobRouterAdministrationAsyncClient.java | 333 +-- .../JobRouterAdministrationClient.java | 288 +-- .../JobRouterAdministrationClientBuilder.java | 24 +- .../jobrouter/JobRouterAsyncClient.java | 282 +-- .../jobrouter/JobRouterClient.java | 252 +-- .../jobrouter/JobRouterClientBuilder.java | 24 +- .../JobRouterAdministrationClientImpl.java | 851 ++----- .../implementation/JobRouterClientImpl.java | 832 ++----- .../models/BestWorkerModeInternal.java | 19 +- .../models/CancelExceptionActionInternal.java | 13 +- .../models/CancelJobOptionsInternal.java | 9 +- .../models/ClassificationPolicyInternal.java | 12 +- .../models/CloseJobOptionsInternal.java | 17 +- ...tionalQueueSelectorAttachmentInternal.java | 12 +- ...ionalWorkerSelectorAttachmentInternal.java | 12 +- .../DeclineJobOfferOptionsInternal.java | 15 +- .../models/DirectMapRouterRuleInternal.java | 8 +- .../models/DistributionModeInternal.java | 55 +- .../models/DistributionPolicyInternal.java | 6 +- .../models/ExceptionActionInternal.java | 36 +- .../models/ExceptionActionKind.java | 65 + .../models/ExceptionRuleInternal.java | 6 +- .../models/ExceptionTriggerInternal.java | 37 +- .../models/ExceptionTriggerKind.java | 59 + .../models/ExpressionRouterRuleInternal.java | 10 +- .../models/FunctionRouterRuleInternal.java | 10 +- .../models/JobMatchingModeInternal.java | 41 +- .../models/LongestIdleModeInternal.java | 8 +- ...nualReclassifyExceptionActionInternal.java | 7 +- ...hroughQueueSelectorAttachmentInternal.java | 12 +- ...roughWorkerSelectorAttachmentInternal.java | 12 +- .../models/QueueAndMatchModeInternal.java | 8 +- .../QueueLengthExceptionTriggerInternal.java | 9 +- .../QueueSelectorAttachmentInternal.java | 38 +- .../QueueWeightedAllocationInternal.java | 7 +- .../ReclassifyExceptionActionInternal.java | 22 +- .../models/RoundRobinModeInternal.java | 4 +- .../models/RouterJobInternal.java | 42 +- .../models/RouterQueueInternal.java | 15 +- .../models/RouterQueueSelectorInternal.java | 16 +- .../models/RouterQueueStatisticsInternal.java | 10 +- .../models/RouterRuleInternal.java | 44 +- .../models/RouterWorkerInternal.java | 36 +- .../models/RouterWorkerSelectorInternal.java | 16 +- ...EngineQueueSelectorAttachmentInternal.java | 10 +- ...ngineWorkerSelectorAttachmentInternal.java | 10 +- .../ScheduleAndSuspendModeInternal.java | 13 +- ...StaticQueueSelectorAttachmentInternal.java | 10 +- .../models/StaticRouterRuleInternal.java | 14 +- ...taticWorkerSelectorAttachmentInternal.java | 10 +- .../models/SuspendModeInternal.java | 4 +- .../WaitTimeExceptionTriggerInternal.java | 9 +- .../models/WebhookRouterRuleInternal.java | 17 +- ...cationQueueSelectorAttachmentInternal.java | 10 +- ...ationWorkerSelectorAttachmentInternal.java | 10 +- .../WorkerSelectorAttachmentInternal.java | 38 +- .../WorkerWeightedAllocationInternal.java | 7 +- .../models/AcceptJobOfferResult.java | 6 +- .../models/DistributionModeKind.java | 65 + .../models/FunctionRouterRuleCredential.java | 12 +- .../jobrouter/models/JobMatchingModeKind.java | 65 + .../models/OAuth2WebhookClientCredential.java | 3 +- .../models/QueueSelectorAttachmentKind.java | 77 + .../jobrouter/models/RouterChannel.java | 15 +- .../jobrouter/models/RouterJobAssignment.java | 2 +- .../jobrouter/models/RouterJobOffer.java | 4 +- .../models/RouterJobPositionDetails.java | 10 +- .../models/RouterJobStatusSelector.java | 3 +- .../jobrouter/models/RouterRuleKind.java | 77 + .../models/RouterWorkerAssignment.java | 8 +- .../jobrouter/models/ScoringRuleOptions.java | 33 +- .../models/ScoringRuleParameterSelector.java | 4 +- .../jobrouter/models/UnassignJobOptions.java | 6 +- .../jobrouter/models/UnassignJobResult.java | 4 +- .../models/WorkerSelectorAttachmentKind.java | 77 + .../messages/MessageTemplateAsyncClient.java | 31 +- .../messages/MessageTemplateClient.java | 25 +- .../MessageTemplateClientBuilder.java | 22 +- .../NotificationMessagesAsyncClient.java | 43 +- .../messages/NotificationMessagesClient.java | 40 +- .../NotificationMessagesClientBuilder.java | 22 +- .../MessageTemplateClientImpl.java | 119 +- .../NotificationMessagesClientImpl.java | 102 +- .../models/MessageDataStream.java | 2 +- .../models/CommunicationMessageKind.java | 65 + .../models/CommunicationMessagesChannel.java | 53 + .../models/MediaNotificationContent.java | 12 +- .../messages/models/MessageReceipt.java | 4 +- .../messages/models/MessageTemplate.java | 10 +- .../models/MessageTemplateBindings.java | 37 +- .../models/MessageTemplateBindingsKind.java | 53 + .../models/MessageTemplateDocument.java | 9 +- .../messages/models/MessageTemplateImage.java | 5 +- .../messages/models/MessageTemplateItem.java | 48 +- .../models/MessageTemplateLocation.java | 12 +- .../models/MessageTemplateQuickAction.java | 7 +- .../messages/models/MessageTemplateText.java | 5 +- .../messages/models/MessageTemplateValue.java | 40 +- .../models/MessageTemplateValueKind.java | 83 + .../messages/models/MessageTemplateVideo.java | 5 +- .../messages/models/NotificationContent.java | 42 +- .../messages/models/SendMessageResult.java | 2 +- .../models/TemplateNotificationContent.java | 9 +- .../models/TextNotificationContent.java | 9 +- .../WhatsAppMessageTemplateBindings.java | 8 +- ...WhatsAppMessageTemplateBindingsButton.java | 4 +- ...tsAppMessageTemplateBindingsComponent.java | 2 +- .../channels/WhatsAppMessageTemplateItem.java | 8 +- .../contentsafety/BlocklistAsyncClient.java | 134 +- .../ai/contentsafety/BlocklistClient.java | 106 +- .../contentsafety/BlocklistClientBuilder.java | 12 +- .../ContentSafetyAsyncClient.java | 28 +- .../ai/contentsafety/ContentSafetyClient.java | 28 +- .../ContentSafetyClientBuilder.java | 12 +- .../implementation/BlocklistClientImpl.java | 264 +-- .../ContentSafetyClientImpl.java | 47 +- .../AddOrUpdateTextBlocklistItemsOptions.java | 54 +- .../AddOrUpdateTextBlocklistItemsResult.java | 54 +- .../models/AnalyzeImageOptions.java | 83 +- .../models/AnalyzeImageOutputType.java | 2 - .../models/AnalyzeImageResult.java | 53 +- .../models/AnalyzeTextOptions.java | 113 +- .../models/AnalyzeTextOutputType.java | 2 - .../models/AnalyzeTextResult.java | 61 +- .../models/ContentSafetyImageData.java | 52 +- .../models/ImageCategoriesAnalysis.java | 66 +- .../contentsafety/models/ImageCategory.java | 2 - .../RemoveTextBlocklistItemsOptions.java | 52 +- .../contentsafety/models/TextBlocklist.java | 94 +- .../models/TextBlocklistItem.java | 63 +- .../models/TextBlocklistMatch.java | 67 +- .../models/TextCategoriesAnalysis.java | 66 +- .../ai/contentsafety/models/TextCategory.java | 2 - .../src/main/java/module-info.java | 2 + .../DeploymentEnvironmentsAsyncClient.java | 186 +- .../DeploymentEnvironmentsClient.java | 180 +- .../DeploymentEnvironmentsClientBuilder.java | 12 +- .../devcenter/DevBoxesAsyncClient.java | 276 +-- .../developer/devcenter/DevBoxesClient.java | 273 +-- .../devcenter/DevBoxesClientBuilder.java | 12 +- .../devcenter/DevCenterAsyncClient.java | 35 +- .../developer/devcenter/DevCenterClient.java | 35 +- .../devcenter/DevCenterClientBuilder.java | 12 +- .../DeploymentEnvironmentsClientImpl.java | 798 ++----- .../implementation/DevBoxesClientImpl.java | 1118 +++------ .../implementation/DevCenterClientImpl.java | 149 +- .../src/main/java/module-info.java | 1 + ...IntelligenceAdministrationAsyncClient.java | 81 +- ...umentIntelligenceAdministrationClient.java | 54 +- ...telligenceAdministrationClientBuilder.java | 12 +- .../DocumentIntelligenceAsyncClient.java | 115 +- .../DocumentIntelligenceClient.java | 115 +- .../DocumentIntelligenceClientBuilder.java | 12 +- ...tIntelligenceAdministrationClientImpl.java | 299 +-- .../DocumentIntelligenceClientImpl.java | 597 +---- .../models/AddressValue.java | 98 +- .../models/AnalyzeDocumentRequest.java | 62 +- .../models/AnalyzeResult.java | 148 +- .../models/AnalyzeResultOperation.java | 95 +- .../models/AuthorizeCopyRequest.java | 66 +- .../models/AzureBlobContentSource.java | 60 +- .../AzureBlobFileListContentSource.java | 60 +- .../models/BoundingRegion.java | 60 +- .../BuildDocumentClassifierRequest.java | 75 +- .../models/BuildDocumentModelRequest.java | 99 +- .../models/ClassifierDocumentTypeDetails.java | 75 +- .../models/ClassifyDocumentRequest.java | 62 +- .../models/ComponentDocumentModelDetails.java | 52 +- .../models/ComposeDocumentModelRequest.java | 76 +- .../models/ContentFormat.java | 2 - .../models/ContentSourceKind.java | 2 - .../models/CopyAuthorization.java | 102 +- .../models/CurrencyValue.java | 66 +- .../models/CustomDocumentModelsDetails.java | 60 +- .../documentintelligence/models/Document.java | 83 +- .../models/DocumentAnalysisFeature.java | 2 - .../models/DocumentBarcode.java | 83 +- .../models/DocumentBarcodeKind.java | 2 - .../models/DocumentBuildMode.java | 2 - .../models/DocumentCaption.java | 75 +- ...cumentClassifierBuildOperationDetails.java | 114 +- .../models/DocumentClassifierDetails.java | 108 +- .../models/DocumentField.java | 173 +- .../models/DocumentFieldSchema.java | 78 +- .../models/DocumentFieldType.java | 2 - .../models/DocumentFigure.java | 79 +- .../models/DocumentFootnote.java | 75 +- .../models/DocumentFormula.java | 83 +- .../models/DocumentFormulaKind.java | 2 - .../models/DocumentKeyValueElement.java | 69 +- .../models/DocumentKeyValuePair.java | 68 +- .../models/DocumentLanguage.java | 72 +- .../models/DocumentLine.java | 68 +- .../models/DocumentList.java | 60 +- .../models/DocumentListItem.java | 82 +- .../DocumentModelBuildOperationDetails.java | 114 +- .../DocumentModelComposeOperationDetails.java | 114 +- .../DocumentModelCopyToOperationDetails.java | 114 +- .../models/DocumentModelDetails.java | 128 +- .../models/DocumentPage.java | 117 +- .../models/DocumentParagraph.java | 75 +- .../models/DocumentSection.java | 60 +- .../models/DocumentSelectionMark.java | 76 +- .../models/DocumentSelectionMarkState.java | 2 - .../models/DocumentSignatureType.java | 2 - .../models/DocumentSpan.java | 59 +- .../models/DocumentStyle.java | 101 +- .../models/DocumentTable.java | 97 +- .../models/DocumentTableCell.java | 109 +- .../models/DocumentTableCellKind.java | 2 - .../models/DocumentTypeDetails.java | 73 +- .../models/DocumentWord.java | 77 +- .../ai/documentintelligence/models/Error.java | 82 +- .../models/FontStyle.java | 2 - .../models/FontWeight.java | 2 - .../models/InnerError.java | 54 +- .../models/LengthUnit.java | 5 +- .../models/OperationDetails.java | 260 ++- .../models/OperationKind.java | 70 + .../models/OperationStatus.java | 2 - .../models/ParagraphRole.java | 2 - .../models/QuotaDetails.java | 72 +- .../models/ResourceDetails.java | 62 +- .../models/SplitMode.java | 2 - .../models/StringIndexType.java | 6 +- .../documentintelligence/models/Warning.java | 67 +- .../src/main/java/module-info.java | 3 +- .../defender/easm/EasmAsyncClient.java | 292 +-- .../analytics/defender/easm/EasmClient.java | 109 +- .../defender/easm/EasmClientBuilder.java | 68 +- .../easm/implementation/EasmClientImpl.java | 1995 ++++------------- .../defender/easm/models/AsAssetResource.java | 5 +- .../defender/easm/models/AssetPageResult.java | 9 +- .../defender/easm/models/AssetResource.java | 44 +- .../defender/easm/models/AssetState.java | 2 +- .../easm/models/AssetSummaryResult.java | 25 +- .../AzureDataExplorerDataConnection.java | 9 +- .../AzureDataExplorerDataConnectionData.java | 9 +- .../easm/models/ContactAssetResource.java | 5 +- .../defender/easm/models/DataConnection.java | 38 +- .../easm/models/DataConnectionData.java | 38 +- .../defender/easm/models/DiscoGroup.java | 12 +- .../defender/easm/models/DiscoGroupData.java | 18 +- .../defender/easm/models/DiscoRunResult.java | 3 +- .../defender/easm/models/DomainAsset.java | 2 +- .../easm/models/DomainAssetResource.java | 5 +- .../defender/easm/models/ErrorDetail.java | 7 +- .../easm/models/HostAssetResource.java | 5 +- .../defender/easm/models/InnerError.java | 3 +- .../defender/easm/models/InventoryAsset.java | 2 +- .../easm/models/IpAddressAssetResource.java | 5 +- .../easm/models/IpBlockAssetResource.java | 5 +- .../models/LogAnalyticsDataConnection.java | 9 +- .../LogAnalyticsDataConnectionData.java | 9 +- .../easm/models/ObservedPortStateValue.java | 2 +- .../easm/models/PageAssetRedirectType.java | 2 +- .../easm/models/PageAssetResource.java | 5 +- .../models/ReportAssetSnapshotResult.java | 3 +- .../models/ReportAssetSummaryRequest.java | 21 +- .../defender/easm/models/SavedFilterData.java | 4 +- .../easm/models/SslCertAssetResource.java | 5 +- .../models/SslCertAssetValidationType.java | 2 +- .../analytics/defender/easm/models/Task.java | 4 +- .../defender/easm/models/ValidateResult.java | 5 +- .../RadiologyInsightsAsyncClient.java | 37 +- .../RadiologyInsightsClient.java | 35 +- .../RadiologyInsightsClientBuilder.java | 12 +- .../RadiologyInsightsClientImpl.java | 261 +-- .../implementation/package-info.java | 3 +- .../models/AgeMismatchInference.java | 6 +- .../CompleteOrderDiscrepancyInference.java | 18 +- .../models/ContactPointUse.java | 2 +- .../models/CriticalResult.java | 2 +- .../models/CriticalResultInference.java | 12 +- .../models/DocumentContent.java | 4 +- .../radiologyinsights/models/Encounter.java | 11 +- .../models/EncounterClass.java | 18 +- .../models/FhirR4Annotation.java | 4 +- .../models/FhirR4Condition.java | 43 +- .../models/FhirR4ContactPoint.java | 3 +- .../models/FhirR4DomainResource.java | 5 +- .../models/FhirR4Extendible1.java | 58 +- .../models/FhirR4Extendible2.java | 2 +- .../models/FhirR4Extension.java | 2 +- .../radiologyinsights/models/FhirR4Meta.java | 55 +- .../models/FhirR4Narrative.java | 8 +- .../models/FhirR4Observation.java | 17 +- .../models/FhirR4ObservationComponent.java | 2 +- .../models/FhirR4ResearchStudy.java | 41 +- .../models/FhirR4Resource.java | 5 +- .../models/FhirR4SampledData.java | 6 +- .../models/FindingInference.java | 8 +- .../models/FindingOptions.java | 12 +- .../FollowupCommunicationInference.java | 12 +- .../FollowupRecommendationInference.java | 54 +- .../models/FollowupRecommendationOptions.java | 27 +- .../GenericProcedureRecommendation.java | 12 +- .../models/ImagingProcedure.java | 4 +- .../ImagingProcedureRecommendation.java | 9 +- .../LateralityDiscrepancyInference.java | 16 +- .../LimitedOrderDiscrepancyInference.java | 18 +- .../models/ObservationStatusCodeType.java | 9 +- .../models/PatientDocument.java | 12 +- .../models/PatientRecord.java | 11 +- .../models/ProcedureRecommendation.java | 37 +- .../models/RadiologyCodeWithTypes.java | 16 +- .../models/RadiologyInsightsData.java | 2 +- .../RadiologyInsightsInferenceResult.java | 7 +- .../RadiologyInsightsModelConfiguration.java | 18 +- .../RadiologyInsightsPatientResult.java | 4 +- .../models/RadiologyProcedureInference.java | 14 +- .../models/ResearchStudyArm.java | 2 +- .../models/ResearchStudyObjective.java | 2 +- .../models/ResearchStudyStatusCodeType.java | 9 +- .../models/SexMismatchInference.java | 9 +- .../models/package-info.java | 3 +- .../radiologyinsights/package-info.java | 3 +- .../assistants/AssistantsAsyncClient.java | 77 +- .../openai/assistants/AssistantsClient.java | 44 +- .../assistants/AssistantsClientBuilder.java | 20 +- .../implementation/AssistantsClientImpl.java | 1114 +++------ .../MultipartFormDataHelper.java | 1 + .../models/CreateAssistantFileRequest.java | 51 +- .../models/CreateMessageRequest.java | 93 +- .../models/FileListResponse.java | 55 +- .../models/OpenAIPageableListOfAssistant.java | 81 +- .../OpenAIPageableListOfAssistantFile.java | 82 +- .../OpenAIPageableListOfMessageFile.java | 81 +- .../models/OpenAIPageableListOfRunStep.java | 81 +- .../OpenAIPageableListOfThreadMessage.java | 82 +- .../models/OpenAIPageableListOfThreadRun.java | 81 +- .../models/SubmitToolOutputsToRunRequest.java | 51 +- .../models/UpdateMessageRequest.java | 57 +- .../models/UpdateRunRequest.java | 57 +- .../models/UpdateThreadRequest.java | 57 +- .../models/UploadFileRequest.java | 4 +- .../openai/assistants/models/Assistant.java | 122 +- .../models/AssistantCreationOptions.java | 100 +- .../models/AssistantDeletionStatus.java | 63 +- .../assistants/models/AssistantFile.java | 73 +- .../models/AssistantFileDeletionStatus.java | 63 +- .../assistants/models/AssistantThread.java | 75 +- .../AssistantThreadCreationOptions.java | 64 +- .../models/CodeInterpreterToolDefinition.java | 45 +- .../models/CreateAndRunThreadOptions.java | 95 +- .../assistants/models/CreateRunOptions.java | 109 +- .../assistants/models/FileDeletionStatus.java | 63 +- .../openai/assistants/models/FileDetails.java | 10 +- .../openai/assistants/models/FilePurpose.java | 2 - .../assistants/models/FunctionDefinition.java | 72 +- .../models/FunctionToolDefinition.java | 59 +- .../assistants/models/ListSortOrder.java | 2 - .../assistants/models/MessageContent.java | 112 +- .../openai/assistants/models/MessageFile.java | 73 +- .../models/MessageImageFileContent.java | 59 +- .../models/MessageImageFileDetails.java | 51 +- .../models/MessageImageFileIdDetails.java | 51 +- .../openai/assistants/models/MessageRole.java | 2 - .../models/MessageTextAnnotation.java | 143 +- .../assistants/models/MessageTextContent.java | 59 +- .../assistants/models/MessageTextDetails.java | 59 +- .../MessageTextFileCitationAnnotation.java | 81 +- .../MessageTextFileCitationDetails.java | 59 +- .../models/MessageTextFilePathAnnotation.java | 78 +- .../models/MessageTextFilePathDetails.java | 51 +- .../openai/assistants/models/OpenAIFile.java | 88 +- .../assistants/models/RequiredAction.java | 108 +- .../models/RequiredFunctionToolCall.java | 67 +- .../RequiredFunctionToolCallDetails.java | 68 +- .../assistants/models/RequiredToolCall.java | 123 +- .../models/RetrievalToolDefinition.java | 44 +- .../ai/openai/assistants/models/RunError.java | 58 +- .../openai/assistants/models/RunStatus.java | 2 - .../ai/openai/assistants/models/RunStep.java | 168 +- .../RunStepCodeInterpreterImageOutput.java | 61 +- .../RunStepCodeInterpreterImageReference.java | 52 +- .../RunStepCodeInterpreterLogOutput.java | 60 +- .../RunStepCodeInterpreterToolCall.java | 65 +- ...RunStepCodeInterpreterToolCallDetails.java | 63 +- .../RunStepCodeInterpreterToolCallOutput.java | 113 +- .../assistants/models/RunStepDetails.java | 112 +- .../assistants/models/RunStepError.java | 59 +- .../assistants/models/RunStepErrorCode.java | 2 - .../models/RunStepFunctionToolCall.java | 67 +- .../RunStepFunctionToolCallDetails.java | 72 +- .../models/RunStepMessageCreationDetails.java | 61 +- .../RunStepMessageCreationReference.java | 51 +- .../models/RunStepRetrievalToolCall.java | 64 +- .../assistants/models/RunStepStatus.java | 2 - .../assistants/models/RunStepToolCall.java | 130 +- .../models/RunStepToolCallDetails.java | 59 +- .../openai/assistants/models/RunStepType.java | 2 - .../models/SubmitToolOutputsAction.java | 61 +- .../models/SubmitToolOutputsDetails.java | 54 +- .../models/ThreadDeletionStatus.java | 63 +- .../models/ThreadInitializationMessage.java | 103 +- .../assistants/models/ThreadMessage.java | 124 +- .../openai/assistants/models/ThreadRun.java | 195 +- .../assistants/models/ToolDefinition.java | 115 +- .../openai/assistants/models/ToolOutput.java | 54 +- .../models/UpdateAssistantOptions.java | 83 +- .../src/main/java/module-info.java | 3 + .../azure/ai/openai/OpenAIAsyncClient.java | 99 +- .../com/azure/ai/openai/OpenAIClient.java | 87 +- .../azure/ai/openai/OpenAIClientBuilder.java | 28 +- .../implementation/OpenAIClientImpl.java | 208 +- .../ai/openai/models/AudioTranscription.java | 8 +- .../models/AudioTranscriptionFormat.java | 3 +- .../models/AudioTranscriptionOptions.java | 48 +- .../models/AudioTranscriptionSegment.java | 32 +- .../ai/openai/models/AudioTranslation.java | 8 +- .../openai/models/AudioTranslationFormat.java | 3 +- .../models/AudioTranslationOptions.java | 39 +- .../models/AudioTranslationSegment.java | 32 +- .../AzureChatEnhancementConfiguration.java | 12 +- .../openai/models/AzureChatEnhancements.java | 6 +- .../AzureChatExtensionConfiguration.java | 44 +- ...atExtensionDataSourceResponseCitation.java | 2 +- .../openai/models/AzureChatExtensionType.java | 79 + .../AzureChatExtensionsMessageContext.java | 26 +- ...ChatGroundingEnhancementConfiguration.java | 2 +- .../AzureChatOCREnhancementConfiguration.java | 2 +- ...ureCosmosDBChatExtensionConfiguration.java | 9 +- .../AzureCosmosDBChatExtensionParameters.java | 40 +- .../AzureCosmosDBFieldMappingOptions.java | 4 +- .../models/AzureGroundingEnhancement.java | 2 +- ...reGroundingEnhancementCoordinatePoint.java | 4 +- .../models/AzureGroundingEnhancementLine.java | 4 +- .../AzureGroundingEnhancementLineSpan.java | 14 +- ...arningIndexChatExtensionConfiguration.java | 9 +- ...eLearningIndexChatExtensionParameters.java | 45 +- ...AzureSearchChatExtensionConfiguration.java | 9 +- .../AzureSearchChatExtensionParameters.java | 40 +- .../azure/ai/openai/models/ChatChoice.java | 27 +- .../models/ChatChoiceLogProbabilityInfo.java | 8 +- .../ai/openai/models/ChatCompletions.java | 20 +- .../ChatCompletionsFunctionToolCall.java | 8 +- ...ChatCompletionsFunctionToolDefinition.java | 9 +- .../ChatCompletionsFunctionToolSelection.java | 2 +- .../ChatCompletionsJsonResponseFormat.java | 7 +- ...CompletionsNamedFunctionToolSelection.java | 9 +- .../ChatCompletionsNamedToolSelection.java | 37 +- .../openai/models/ChatCompletionsOptions.java | 120 +- .../models/ChatCompletionsResponseFormat.java | 37 +- .../ChatCompletionsTextResponseFormat.java | 10 +- .../models/ChatCompletionsToolCall.java | 16 +- .../models/ChatCompletionsToolDefinition.java | 37 +- .../ai/openai/models/ChatFinishDetails.java | 39 +- .../openai/models/ChatMessageContentItem.java | 39 +- .../models/ChatMessageImageContentItem.java | 12 +- .../ai/openai/models/ChatMessageImageUrl.java | 8 +- .../models/ChatMessageTextContentItem.java | 9 +- .../models/ChatRequestAssistantMessage.java | 21 +- .../models/ChatRequestFunctionMessage.java | 11 +- .../ai/openai/models/ChatRequestMessage.java | 39 +- .../models/ChatRequestSystemMessage.java | 9 +- .../openai/models/ChatRequestToolMessage.java | 7 +- .../openai/models/ChatRequestUserMessage.java | 9 +- .../ai/openai/models/ChatResponseMessage.java | 13 +- .../models/ChatTokenLogProbabilityInfo.java | 14 +- .../models/ChatTokenLogProbabilityResult.java | 22 +- .../com/azure/ai/openai/models/Choice.java | 11 +- .../azure/ai/openai/models/Completions.java | 14 +- .../CompletionsLogProbabilityModel.java | 14 +- .../ai/openai/models/CompletionsOptions.java | 50 +- .../ai/openai/models/CompletionsUsage.java | 6 +- .../ContentFilterBlocklistIdResult.java | 4 +- .../ContentFilterCitedDetectionResult.java | 9 +- .../models/ContentFilterDetectionResult.java | 7 +- .../ai/openai/models/ContentFilterResult.java | 4 +- .../ContentFilterResultDetailsForPrompt.java | 12 +- .../models/ContentFilterResultsForChoice.java | 12 +- .../models/ContentFilterResultsForPrompt.java | 4 +- ...asticsearchChatExtensionConfiguration.java | 9 +- .../ElasticsearchChatExtensionParameters.java | 37 +- .../azure/ai/openai/models/EmbeddingItem.java | 4 +- .../azure/ai/openai/models/Embeddings.java | 4 +- .../ai/openai/models/EmbeddingsOptions.java | 2 +- .../ai/openai/models/EmbeddingsUsage.java | 4 +- .../azure/ai/openai/models/FunctionCall.java | 4 +- .../ai/openai/models/FunctionDefinition.java | 10 +- .../azure/ai/openai/models/FunctionName.java | 2 +- .../ImageGenerationContentFilterResults.java | 12 +- .../ai/openai/models/ImageGenerationData.java | 6 +- .../openai/models/ImageGenerationOptions.java | 17 +- .../ImageGenerationPromptFilterResults.java | 12 +- .../openai/models/ImageGenerationStyle.java | 6 +- .../ai/openai/models/ImageGenerations.java | 4 +- .../openai/models/MaxTokensFinishDetails.java | 6 +- ...rDataAccessTokenAuthenticationOptions.java | 9 +- ...OnYourDataApiKeyAuthenticationOptions.java | 9 +- .../OnYourDataAuthenticationOptions.java | 37 +- .../models/OnYourDataAuthenticationType.java | 91 + ...ConnectionStringAuthenticationOptions.java | 9 +- ...DataDeploymentNameVectorizationSource.java | 18 +- ...ataEncodedApiKeyAuthenticationOptions.java | 9 +- ...OnYourDataEndpointVectorizationSource.java | 26 +- ...rDataKeyAndKeyIdAuthenticationOptions.java | 11 +- .../OnYourDataModelIdVectorizationSource.java | 15 +- ...dManagedIdentityAuthenticationOptions.java | 7 +- ...dManagedIdentityAuthenticationOptions.java | 12 +- .../models/OnYourDataVectorizationSource.java | 37 +- .../OnYourDataVectorizationSourceType.java | 69 + .../PineconeChatExtensionConfiguration.java | 9 +- .../PineconeChatExtensionParameters.java | 38 +- .../models/PineconeFieldMappingOptions.java | 2 +- .../models/SpeechGenerationOptions.java | 19 +- .../SpeechGenerationResponseFormat.java | 6 +- .../ai/openai/models/StopFinishDetails.java | 5 +- .../purview/datamap/DataMapClientBuilder.java | 12 +- .../purview/datamap/DiscoveryAsyncClient.java | 40 +- .../purview/datamap/DiscoveryClient.java | 34 +- .../purview/datamap/EntityAsyncClient.java | 587 ++--- .../purview/datamap/EntityClient.java | 554 ++--- .../purview/datamap/GlossaryAsyncClient.java | 679 ++---- .../purview/datamap/GlossaryClient.java | 622 ++--- .../purview/datamap/LineageAsyncClient.java | 106 +- .../purview/datamap/LineageClient.java | 97 +- .../datamap/RelationshipAsyncClient.java | 43 +- .../purview/datamap/RelationshipClient.java | 40 +- .../datamap/TypeDefinitionAsyncClient.java | 200 +- .../purview/datamap/TypeDefinitionClient.java | 152 +- .../implementation/DataMapClientImpl.java | 6 +- .../implementation/DiscoveriesImpl.java | 74 +- .../datamap/implementation/EntitiesImpl.java | 1123 +++------- .../implementation/GlossariesImpl.java | 1223 +++------- .../datamap/implementation/LineagesImpl.java | 200 +- .../MultipartFormDataHelper.java | 1 + .../implementation/RelationshipsImpl.java | 86 +- .../implementation/TypeDefinitionsImpl.java | 355 +-- .../datamap/models/AtlasAttributeDef.java | 97 +- .../models/AtlasBusinessMetadataDef.java | 105 +- .../datamap/models/AtlasClassification.java | 80 +- .../models/AtlasClassificationDef.java | 120 +- .../datamap/models/AtlasClassifications.java | 67 +- .../datamap/models/AtlasConstraintDef.java | 51 +- .../models/AtlasEntitiesWithExtInfo.java | 54 +- .../purview/datamap/models/AtlasEntity.java | 145 +- .../datamap/models/AtlasEntityDef.java | 122 +- .../datamap/models/AtlasEntityHeader.java | 100 +- .../datamap/models/AtlasEntityHeaders.java | 48 +- .../models/AtlasEntityWithExtInfo.java | 53 +- .../purview/datamap/models/AtlasEnumDef.java | 109 +- .../datamap/models/AtlasEnumElementDef.java | 54 +- .../purview/datamap/models/AtlasGlossary.java | 109 +- .../datamap/models/AtlasGlossaryCategory.java | 110 +- .../datamap/models/AtlasGlossaryExtInfo.java | 121 +- .../datamap/models/AtlasGlossaryHeader.java | 54 +- .../datamap/models/AtlasGlossaryTerm.java | 248 +- .../datamap/models/AtlasLineageInfo.java | 88 +- .../purview/datamap/models/AtlasObjectId.java | 56 +- .../models/AtlasRelatedCategoryHeader.java | 62 +- .../datamap/models/AtlasRelatedObjectId.java | 88 +- .../models/AtlasRelatedTermHeader.java | 71 +- .../datamap/models/AtlasRelationship.java | 103 +- .../models/AtlasRelationshipAttributeDef.java | 111 +- .../datamap/models/AtlasRelationshipDef.java | 161 +- .../models/AtlasRelationshipEndDef.java | 68 +- .../models/AtlasRelationshipWithExtInfo.java | 53 +- .../purview/datamap/models/AtlasStruct.java | 55 +- .../datamap/models/AtlasStructDef.java | 105 +- .../models/AtlasTermAssignmentHeader.java | 79 +- .../models/AtlasTermAssignmentStatus.java | 2 - .../models/AtlasTermCategorizationHeader.java | 64 +- .../models/AtlasTermRelationshipStatus.java | 2 - .../purview/datamap/models/AtlasTypeDef.java | 174 +- .../datamap/models/AtlasTypeDefHeader.java | 54 +- .../purview/datamap/models/AtlasTypesDef.java | 85 +- .../datamap/models/AutoCompleteOptions.java | 54 +- .../datamap/models/AutoCompleteResult.java | 48 +- .../models/AutoCompleteResultValue.java | 50 +- .../datamap/models/BulkImportResult.java | 54 +- .../BusinessAttributeUpdateBehavior.java | 2 - .../models/BusinessMetadataOptions.java | 2 +- .../datamap/models/CardinalityValue.java | 2 - .../ClassificationAssociateOptions.java | 52 +- .../purview/datamap/models/ContactInfo.java | 50 +- .../models/ContactSearchResultValue.java | 54 +- .../purview/datamap/models/DateFormat.java | 80 +- .../datamap/models/EntityMutationResult.java | 62 +- .../purview/datamap/models/EntityStatus.java | 2 - .../purview/datamap/models/FileDetails.java | 10 +- .../purview/datamap/models/ImportInfo.java | 58 +- .../purview/datamap/models/ImportStatus.java | 2 - .../datamap/models/LineageDirection.java | 2 - .../datamap/models/LineageRelation.java | 54 +- .../datamap/models/MoveEntitiesOptions.java | 47 +- .../purview/datamap/models/NumberFormat.java | 100 +- .../datamap/models/ParentRelation.java | 54 +- .../datamap/models/PurviewObjectId.java | 77 +- .../purview/datamap/models/QueryOptions.java | 72 +- .../purview/datamap/models/QueryResult.java | 66 +- .../datamap/models/RelationshipCategory.java | 2 - .../purview/datamap/models/ResourceLink.java | 50 +- .../purview/datamap/models/RoundingMode.java | 2 - .../datamap/models/SearchFacetItem.java | 54 +- .../datamap/models/SearchFacetItemValue.java | 50 +- .../models/SearchFacetResultValue.java | 103 +- .../datamap/models/SearchFacetSort.java | 50 +- .../datamap/models/SearchHighlights.java | 68 +- .../datamap/models/SearchResultValue.java | 140 +- .../datamap/models/SearchSortOrder.java | 2 - .../datamap/models/SearchTaxonomySetting.java | 51 +- .../purview/datamap/models/SortType.java | 2 - .../models/StatusAtlasRelationship.java | 2 - .../datamap/models/SuggestOptions.java | 54 +- .../purview/datamap/models/SuggestResult.java | 47 +- .../datamap/models/SuggestResultValue.java | 139 +- .../datamap/models/TermSearchResultValue.java | 54 +- .../purview/datamap/models/TermStatus.java | 2 - .../datamap/models/TermTemplateDef.java | 105 +- .../purview/datamap/models/TimeBoundary.java | 54 +- .../purview/datamap/models/TimeZone.java | 67 +- .../purview/datamap/models/TypeCategory.java | 2 - .../src/main/java/module-info.java | 3 +- .../text/TextTranslationAsyncClient.java | 398 +--- .../text/TextTranslationClient.java | 404 +--- .../text/TextTranslationClientBuilder.java | 24 +- .../TextTranslationClientImpl.java | 789 ++----- .../text/models/BackTranslation.java | 92 +- .../text/models/BreakSentenceItem.java | 61 +- .../text/models/CommonScriptModel.java | 76 +- .../text/models/DetectedLanguage.java | 59 +- .../text/models/DictionaryExample.java | 99 +- .../text/models/DictionaryExampleItem.java | 73 +- .../models/DictionaryExampleTextItem.java | 60 +- .../text/models/DictionaryLookupItem.java | 68 +- .../text/models/DictionaryTranslation.java | 103 +- .../text/models/GetLanguagesResult.java | 59 +- .../text/models/InputTextItem.java | 51 +- .../text/models/ProfanityAction.java | 2 - .../text/models/ProfanityMarker.java | 2 - .../text/models/SentenceLength.java | 66 +- .../text/models/SourceDictionaryLanguage.java | 81 +- .../translation/text/models/SourceText.java | 51 +- .../text/models/TargetDictionaryLanguage.java | 77 +- .../ai/translation/text/models/TextType.java | 2 - .../text/models/TranslatedTextAlignment.java | 64 +- .../text/models/TranslatedTextItem.java | 81 +- .../translation/text/models/Translation.java | 80 +- .../text/models/TranslationLanguage.java | 69 +- .../text/models/TransliterableScript.java | 67 +- .../text/models/TransliteratedText.java | 59 +- .../text/models/TransliterationLanguage.java | 67 +- .../src/main/java/module-info.java | 2 + 647 files changed, 23432 insertions(+), 20817 deletions(-) create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterRuleKind.java create mode 100644 sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java create mode 100644 sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java create mode 100644 sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java create mode 100644 sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java create mode 100644 sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java create mode 100644 sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java create mode 100644 sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionType.java create mode 100644 sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationType.java create mode 100644 sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSourceType.java diff --git a/eng/emitter-package-lock.json b/eng/emitter-package-lock.json index 55e7152fbbad..b3432517b837 100644 --- a/eng/emitter-package-lock.json +++ b/eng/emitter-package-lock.json @@ -1,11 +1,11 @@ { "name": "emitter-consumer", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { "dependencies": { - "@azure-tools/typespec-java": "/mnt/c/github/autorest.java/typespec-extension/azure-tools-typespec-java-0.15.2.tgz" + "@azure-tools/typespec-java": "0.15.3" }, "devDependencies": { "@azure-tools/typespec-azure-core": "0.40.0", @@ -96,10 +96,9 @@ } }, "node_modules/@azure-tools/typespec-java": { - "version": "0.15.2", - "resolved": "file:../../../mnt/c/github/autorest.java/typespec-extension/azure-tools-typespec-java-0.15.2.tgz", - "integrity": "sha512-mrA3/BsnwtY1R/3cfyS1uod/e7lLlERVeroibWlcSRBZ9jgtwSWcCDZ6+24k1Wq26bCOTbJMxFCsto8m4PiTnw==", - "license": "MIT", + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-java/-/typespec-java-0.15.3.tgz", + "integrity": "sha512-KKeA2r1/6DTKYGtCwr+qGNsBRN4KSu92PxUdmi1HatkZvi+YIDzMwRCYz17M61ZQuit2vYTJvvvQAg+powgAag==", "dependencies": { "@autorest/codemodel": "~4.20.0", "js-yaml": "~4.1.0", @@ -1044,720 +1043,5 @@ "node": ">=12" } } - }, - "dependencies": { - "@autorest/codemodel": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@autorest/codemodel/-/codemodel-4.20.0.tgz", - "integrity": "sha512-Z2GwVwAGNTcfGUmrWT5LJqZv/WDXKBBpxhZrHu6zco/HrEGrqKQcKx5whlLX/GmAB/KmhcOWYr6aIyWomcoisQ==", - "requires": { - "@azure-tools/codegen": "~2.10.0", - "js-yaml": "~4.1.0" - } - }, - "@azure-tools/async-io": { - "version": "3.0.254", - "resolved": "https://registry.npmjs.org/@azure-tools/async-io/-/async-io-3.0.254.tgz", - "integrity": "sha512-X1C7XdyCuo50ch9FzKtTvmK18FgDxxf1Bbt3cSoknQqeDaRegHSSCO+zByq2YA4NvUzKXeZ1engh29IDxZXgpQ==", - "requires": { - "@azure-tools/tasks": "~3.0.255", - "proper-lockfile": "~2.0.1" - } - }, - "@azure-tools/codegen": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@azure-tools/codegen/-/codegen-2.10.0.tgz", - "integrity": "sha512-gdy0at3BUZAAARgiX9Ye6SNCKhcjLs5FNUewa/KV/dMGcPv7mBvbslt5VO3W8wj0n96ifk970aIFaivjacBxeQ==", - "requires": { - "@azure-tools/async-io": "~3.0.0", - "js-yaml": "~4.1.0", - "semver": "^7.3.5" - } - }, - "@azure-tools/tasks": { - "version": "3.0.255", - "resolved": "https://registry.npmjs.org/@azure-tools/tasks/-/tasks-3.0.255.tgz", - "integrity": "sha512-GjALNLz7kWMEdRVbaN5g0cJHNAr3XVTbP0611Mv2UzMgGL6FOhNZJK+oPHJKLDR8EEDZNnkwPlyi7B+INXUSQA==" - }, - "@azure-tools/typespec-azure-core": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.40.0.tgz", - "integrity": "sha512-l5U47zXKYQKFbipRQLpjG4EwvPJg0SogdFEe5a3rRr7mUy8sWPkciHpngLZVOd2cKZQD5m7nqwfWL798I9TJnQ==", - "dev": true - }, - "@azure-tools/typespec-client-generator-core": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.40.0.tgz", - "integrity": "sha512-Nm/OfDtSWBr1lylISbXR37B9QKWlZHK1j4T8L439Y1v3VcvJsC/0F5PLemY0odHpOYZNwu2uevJjAeM5W56wlw==", - "dev": true, - "requires": { - "change-case": "~5.4.2", - "pluralize": "^8.0.0" - } - }, - "@azure-tools/typespec-java": { - "version": "file:/mnt/c/github/autorest.java/typespec-extension/azure-tools-typespec-java-0.15.2.tgz", - "integrity": "sha512-mrA3/BsnwtY1R/3cfyS1uod/e7lLlERVeroibWlcSRBZ9jgtwSWcCDZ6+24k1Wq26bCOTbJMxFCsto8m4PiTnw==", - "requires": { - "@autorest/codemodel": "~4.20.0", - "js-yaml": "~4.1.0", - "lodash": "~4.17.21" - } - }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true - }, - "@typespec/compiler": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.54.0.tgz", - "integrity": "sha512-lxMqlvUq5m1KZUjg+IoM/gEwY+yeSjjnpUsz6wmzjK4cO9cIY4wPJdrZwe8jUc2UFOoqKXN3AK8N1UWxA+w9Dg==", - "dev": true, - "requires": { - "@babel/code-frame": "~7.23.5", - "ajv": "~8.12.0", - "change-case": "~5.4.2", - "globby": "~14.0.0", - "mustache": "~4.2.0", - "picocolors": "~1.0.0", - "prettier": "~3.2.5", - "prompts": "~2.4.2", - "semver": "^7.6.0", - "vscode-languageserver": "~9.0.1", - "vscode-languageserver-textdocument": "~1.0.11", - "yaml": "~2.3.4", - "yargs": "~17.7.2" - } - }, - "@typespec/http": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.54.0.tgz", - "integrity": "sha512-/hZd9pkjJh3ogOekyKzZnpVV2kXzxtWDiTt3Gekc6iHTGk/CE1JpRFts8xwXoI5d3FqYotfb4w5ztVw62WjOcA==", - "dev": true - }, - "@typespec/openapi": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.54.0.tgz", - "integrity": "sha512-QJkwq3whcqKb29ScMD5IQzqvDmPQyLAubRl82Zj6kVMCqabRwegOX9aN+K0083nci65zt9rflZbv9bKY5GRy/A==", - "dev": true - }, - "@typespec/rest": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.54.0.tgz", - "integrity": "sha512-F1hq/Per9epPJQ8Ey84mAtrgrZeLu6fDMIxNao1XlTfDEFZuYgFuCSyg0pyIi0Xg7KUBMvrvSv83WoF3mN2szw==", - "dev": true - }, - "@typespec/versioning": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.54.0.tgz", - "integrity": "sha512-IlGpveOJ0WBTbn3w8nfzgSNhJWNd0+H+bo1Ljrjpeb9SFQmS8bX2fDf0vqsHVl50XgvKIZxgOpEXN5TmuzNnRw==", - "dev": true - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "change-case": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.3.tgz", - "integrity": "sha512-4cdyvorTy/lViZlVzw2O8/hHCLUuHqp4KpSSP3DlauhFCf3LdnfF+p5s0EAhjKsU7bqrMzu7iQArYfoPiHO2nw==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", - "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", - "dev": true, - "requires": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "dev": true - }, - "path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true - }, - "prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "proper-lockfile": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz", - "integrity": "sha512-rjaeGbsmhNDcDInmwi4MuI6mRwJu6zq8GjYCLuSuE7GF+4UjgzkL69sVKKJ2T2xH61kK7rXvGYpvaTu909oXaQ==", - "requires": { - "graceful-fs": "^4.1.2", - "retry": "^0.10.0" - } - }, - "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "unicorn-magic": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "vscode-jsonrpc": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", - "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", - "dev": true - }, - "vscode-languageserver": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", - "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", - "dev": true, - "requires": { - "vscode-languageserver-protocol": "3.17.5" - } - }, - "vscode-languageserver-protocol": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", - "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", - "dev": true, - "requires": { - "vscode-jsonrpc": "8.2.0", - "vscode-languageserver-types": "3.17.5" - } - }, - "vscode-languageserver-textdocument": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", - "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", - "dev": true - }, - "vscode-languageserver-types": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", - "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - } - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - } } } diff --git a/eng/emitter-package.json b/eng/emitter-package.json index 0f756848584f..99f7ef0d74a7 100644 --- a/eng/emitter-package.json +++ b/eng/emitter-package.json @@ -1,15 +1,15 @@ { "main": "dist/src/index.js", "dependencies": { - "@azure-tools/typespec-java": "/mnt/c/github/autorest.java/typespec-extension/azure-tools-typespec-java-0.15.2.tgz" + "@azure-tools/typespec-java": "0.15.3" }, "devDependencies": { - "@typespec/http": "0.54.0", - "@typespec/openapi": "0.54.0", - "@azure-tools/typespec-azure-core": "0.40.0", - "@azure-tools/typespec-client-generator-core": "0.40.0", "@typespec/rest": "0.54.0", "@typespec/versioning": "0.54.0", - "@typespec/compiler": "0.54.0" + "@typespec/compiler": "0.54.0", + "@azure-tools/typespec-client-generator-core": "0.40.0", + "@typespec/http": "0.54.0", + "@azure-tools/typespec-azure-core": "0.40.0", + "@typespec/openapi": "0.54.0" } } diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java index daffff60bbd2..f209473f0057 100644 --- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java +++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationAsyncClient.java @@ -4,26 +4,10 @@ package com.azure.communication.jobrouter; import com.azure.communication.jobrouter.implementation.JobRouterAdministrationClientImpl; -import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy; -import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy; -import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter; -import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter; -import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter; -import com.azure.communication.jobrouter.implementation.converters.QueueAdapter; import com.azure.communication.jobrouter.implementation.models.ClassificationPolicyInternal; import com.azure.communication.jobrouter.implementation.models.DistributionPolicyInternal; import com.azure.communication.jobrouter.implementation.models.ExceptionPolicyInternal; import com.azure.communication.jobrouter.implementation.models.RouterQueueInternal; -import com.azure.communication.jobrouter.models.ClassificationPolicy; -import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions; -import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions; -import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions; -import com.azure.communication.jobrouter.models.CreateQueueOptions; -import com.azure.communication.jobrouter.models.DistributionPolicy; -import com.azure.communication.jobrouter.models.ExceptionPolicy; -import com.azure.communication.jobrouter.models.RouterQueue; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; @@ -43,6 +27,22 @@ import java.util.stream.Collectors; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy; +import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy; +import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter; +import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter; +import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter; +import com.azure.communication.jobrouter.implementation.converters.QueueAdapter; +import com.azure.communication.jobrouter.models.ClassificationPolicy; +import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions; +import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions; +import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions; +import com.azure.communication.jobrouter.models.CreateQueueOptions; +import com.azure.communication.jobrouter.models.DistributionPolicy; +import com.azure.communication.jobrouter.models.ExceptionPolicy; +import com.azure.communication.jobrouter.models.RouterQueue; /** * Initializes a new instance of the asynchronous JobRouterAdministrationClient type. @@ -65,34 +65,15 @@ public final class JobRouterAdministrationAsyncClient { /** * Creates or updates a distribution policy. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -100,15 +81,14 @@ public final class JobRouterAdministrationAsyncClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -116,6 +96,7 @@ public final class JobRouterAdministrationAsyncClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -130,15 +111,13 @@ public final class JobRouterAdministrationAsyncClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertDistributionPolicyWithResponse(String distributionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertDistributionPolicyWithResponseAsync(distributionPolicyId, resource,
             requestOptions);
     }
@@ -334,9 +313,7 @@ public Mono updateDistributionPolicy(String distributionPolicyId, Bi
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -344,6 +321,7 @@ public Mono updateDistributionPolicy(String distributionPolicyId, Bi
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -357,8 +335,7 @@ public Mono updateDistributionPolicy(String distributionPolicyId, Bi
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -369,28 +346,14 @@ public Mono> getDistributionPolicyWithResponse(String distr
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -398,6 +361,7 @@ public Mono> getDistributionPolicyWithResponse(String distr
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -438,34 +402,15 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -474,19 +419,20 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -495,12 +441,15 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -513,15 +462,13 @@ public Mono> deleteDistributionPolicyWithResponse(String distribu
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertClassificationPolicyWithResponse(String classificationPolicyId,
         BinaryData resource, RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertClassificationPolicyWithResponseAsync(classificationPolicyId, resource,
             requestOptions);
     }
@@ -740,9 +687,7 @@ public Mono updateClassificationPolicy(String classificationPolicyId
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -751,12 +696,15 @@ public Mono updateClassificationPolicy(String classificationPolicyId
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -768,8 +716,7 @@ public Mono updateClassificationPolicy(String classificationPolicyId
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -780,28 +727,14 @@ public Mono> getClassificationPolicyWithResponse(String cla
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -810,12 +743,15 @@ public Mono> getClassificationPolicyWithResponse(String cla
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -854,34 +790,15 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -891,9 +808,11 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -901,9 +820,7 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -913,9 +830,11 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -931,15 +850,13 @@ public Mono> deleteClassificationPolicyWithResponse(String classi
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a policy that defines actions to execute when exception are triggered along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return a policy that defines actions to execute when exception are triggered along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertExceptionPolicyWithResponse(String exceptionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertExceptionPolicyWithResponseAsync(exceptionPolicyId, resource, requestOptions);
     }
 
@@ -1261,34 +1178,15 @@ public Mono> deleteExceptionPolicyWithResponse(String exceptionPo
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1301,9 +1199,7 @@ public Mono> deleteExceptionPolicyWithResponse(String exceptionPo
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1324,15 +1220,13 @@ public Mono> deleteExceptionPolicyWithResponse(String exceptionPo
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertQueueWithResponse(String queueId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertQueueWithResponseAsync(queueId, resource, requestOptions);
     }
 
@@ -1522,9 +1416,7 @@ public Mono createQueue(CreateQueueOptions createQueueOptions) {
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1544,8 +1436,7 @@ public Mono createQueue(CreateQueueOptions createQueueOptions) {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1555,28 +1446,14 @@ public Mono> getQueueWithResponse(String queueId, RequestOp
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1656,11 +1533,13 @@ public PagedFlux listDistributionPolicies() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listDistributionPolicies(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DistributionPolicy.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1723,12 +1602,14 @@ public PagedFlux listClassificationPolicies() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listClassificationPolicies(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(ClassificationPolicy.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
@@ -1792,11 +1673,13 @@ public PagedFlux listExceptionPolicies() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listExceptionPolicies(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(ExceptionPolicy.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1859,11 +1742,13 @@ public PagedFlux listQueues() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listQueues(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterQueue.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java
index 441aed1278c5..e8a9a26a556e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClient.java
@@ -4,26 +4,10 @@
 package com.azure.communication.jobrouter;
 
 import com.azure.communication.jobrouter.implementation.JobRouterAdministrationClientImpl;
-import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy;
-import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter;
-import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter;
-import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter;
-import com.azure.communication.jobrouter.implementation.converters.QueueAdapter;
 import com.azure.communication.jobrouter.implementation.models.ClassificationPolicyInternal;
 import com.azure.communication.jobrouter.implementation.models.DistributionPolicyInternal;
 import com.azure.communication.jobrouter.implementation.models.ExceptionPolicyInternal;
 import com.azure.communication.jobrouter.implementation.models.RouterQueueInternal;
-import com.azure.communication.jobrouter.models.ClassificationPolicy;
-import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions;
-import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions;
-import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions;
-import com.azure.communication.jobrouter.models.CreateQueueOptions;
-import com.azure.communication.jobrouter.models.DistributionPolicy;
-import com.azure.communication.jobrouter.models.ExceptionPolicy;
-import com.azure.communication.jobrouter.models.RouterQueue;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ReturnType;
 import com.azure.core.annotation.ServiceClient;
@@ -37,6 +21,22 @@
 import com.azure.core.http.rest.Response;
 import com.azure.core.http.rest.SimpleResponse;
 import com.azure.core.util.BinaryData;
+import com.azure.communication.jobrouter.implementation.accesshelpers.ClassificationPolicyConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.DistributionPolicyConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.ExceptionPolicyConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterQueueConstructorProxy;
+import com.azure.communication.jobrouter.implementation.converters.ClassificationPolicyAdapter;
+import com.azure.communication.jobrouter.implementation.converters.DistributionPolicyAdapter;
+import com.azure.communication.jobrouter.implementation.converters.ExceptionPolicyAdapter;
+import com.azure.communication.jobrouter.implementation.converters.QueueAdapter;
+import com.azure.communication.jobrouter.models.ClassificationPolicy;
+import com.azure.communication.jobrouter.models.CreateClassificationPolicyOptions;
+import com.azure.communication.jobrouter.models.CreateDistributionPolicyOptions;
+import com.azure.communication.jobrouter.models.CreateExceptionPolicyOptions;
+import com.azure.communication.jobrouter.models.CreateQueueOptions;
+import com.azure.communication.jobrouter.models.DistributionPolicy;
+import com.azure.communication.jobrouter.models.ExceptionPolicy;
+import com.azure.communication.jobrouter.models.RouterQueue;
 
 /**
  * Initializes a new instance of the synchronous JobRouterAdministrationClient type.
@@ -59,34 +59,15 @@ public final class JobRouterAdministrationClient {
 
     /**
      * Creates or updates a distribution policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -94,15 +75,14 @@ public final class JobRouterAdministrationClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -110,6 +90,7 @@ public final class JobRouterAdministrationClient {
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -130,8 +111,7 @@ public final class JobRouterAdministrationClient {
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertDistributionPolicyWithResponse(String distributionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertDistributionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertDistributionPolicyWithResponse(distributionPolicyId, resource, requestOptions);
     }
 
@@ -326,9 +306,7 @@ public Response createDistributionPolicyWithResponse(
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -336,6 +314,7 @@ public Response createDistributionPolicyWithResponse(
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -360,28 +339,14 @@ public Response getDistributionPolicyWithResponse(String distributio
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -389,6 +354,7 @@ public Response getDistributionPolicyWithResponse(String distributio
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -429,34 +395,15 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -465,19 +412,20 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -486,12 +434,15 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -510,8 +461,7 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertClassificationPolicyWithResponse(String classificationPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json'
-        // and stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertClassificationPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertClassificationPolicyWithResponse(classificationPolicyId, resource,
             requestOptions);
     }
@@ -729,9 +679,7 @@ public Response createClassificationPolicyWithResponse(
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -740,12 +688,15 @@ public Response createClassificationPolicyWithResponse(
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -768,28 +719,14 @@ public Response getClassificationPolicyWithResponse(String classific
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -798,12 +735,15 @@ public Response getClassificationPolicyWithResponse(String classific
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -842,34 +782,15 @@ public Response deleteClassificationPolicyWithResponse(String classificati
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -879,9 +800,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -889,9 +812,7 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -901,9 +822,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -925,8 +848,7 @@ public Response deleteClassificationPolicyWithResponse(String classificati
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertExceptionPolicyWithResponse(String exceptionPolicyId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertExceptionPolicy' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertExceptionPolicyWithResponse(exceptionPolicyId, resource, requestOptions);
     }
 
@@ -1248,34 +1170,15 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1288,9 +1191,7 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1316,8 +1217,7 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertQueueWithResponse(String queueId, BinaryData resource, RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertQueue' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertQueueWithResponse(queueId, resource, requestOptions);
     }
 
@@ -1503,9 +1403,7 @@ public RouterQueue createQueue(CreateQueueOptions createQueueOptions) {
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1535,28 +1433,14 @@ public Response getQueueWithResponse(String queueId, RequestOptions
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java
index 55d42b11f47d..e3d36ca9ef21 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAdministrationClientBuilder.java
@@ -3,18 +3,15 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter;
 
-import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.client.traits.TokenCredentialTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
+import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.communication.jobrouter.implementation.JobRouterAdministrationClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
-import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.KeyCredential;
-import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
 import com.azure.core.http.HttpHeaderName;
 import com.azure.core.http.HttpHeaders;
@@ -24,8 +21,8 @@
 import com.azure.core.http.policy.AddDatePolicy;
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -42,6 +39,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.credential.KeyCredential;
+import com.azure.core.credential.TokenCredential;
 
 /**
  * A builder for creating a new instance of the JobRouterAdministrationClient type.
@@ -265,17 +265,21 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
         policies.add(new AddDatePolicy());
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java
index d5e799d9758e..6e4985941079 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterAsyncClient.java
@@ -4,10 +4,6 @@
 package com.azure.communication.jobrouter;
 
 import com.azure.communication.jobrouter.implementation.JobRouterClientImpl;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy;
-import com.azure.communication.jobrouter.implementation.converters.JobAdapter;
-import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter;
 import com.azure.communication.jobrouter.implementation.models.CancelJobOptionsInternal;
 import com.azure.communication.jobrouter.implementation.models.CancelJobResultInternal;
 import com.azure.communication.jobrouter.implementation.models.CloseJobOptionsInternal;
@@ -21,13 +17,8 @@
 import com.azure.communication.jobrouter.implementation.models.RouterJobInternal;
 import com.azure.communication.jobrouter.implementation.models.RouterWorkerInternal;
 import com.azure.communication.jobrouter.models.AcceptJobOfferResult;
-import com.azure.communication.jobrouter.models.CreateJobOptions;
-import com.azure.communication.jobrouter.models.CreateWorkerOptions;
-import com.azure.communication.jobrouter.models.RouterJob;
 import com.azure.communication.jobrouter.models.RouterJobPositionDetails;
 import com.azure.communication.jobrouter.models.RouterJobStatusSelector;
-import com.azure.communication.jobrouter.models.RouterQueueStatistics;
-import com.azure.communication.jobrouter.models.RouterWorker;
 import com.azure.communication.jobrouter.models.RouterWorkerStateSelector;
 import com.azure.communication.jobrouter.models.UnassignJobOptions;
 import com.azure.communication.jobrouter.models.UnassignJobResult;
@@ -51,6 +42,15 @@
 import java.util.stream.Collectors;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy;
+import com.azure.communication.jobrouter.implementation.converters.JobAdapter;
+import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter;
+import com.azure.communication.jobrouter.models.CreateJobOptions;
+import com.azure.communication.jobrouter.models.CreateWorkerOptions;
+import com.azure.communication.jobrouter.models.RouterJob;
+import com.azure.communication.jobrouter.models.RouterQueueStatistics;
+import com.azure.communication.jobrouter.models.RouterWorker;
 
 /**
  * Initializes a new instance of the asynchronous JobRouterClient type.
@@ -73,34 +73,15 @@ public final class JobRouterAsyncClient {
 
     /**
      * Creates or updates a router job.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -150,12 +131,11 @@ public final class JobRouterAsyncClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -205,6 +185,7 @@ public final class JobRouterAsyncClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -221,8 +202,7 @@ public final class JobRouterAsyncClient { @Generated @ServiceMethod(returns = ReturnType.SINGLE) Mono> upsertJobWithResponse(String jobId, BinaryData resource, RequestOptions requestOptions) { - // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and - // stream-style-serialization is not enabled + // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and stream-style-serialization is not enabled return this.serviceClient.upsertJobWithResponseAsync(jobId, resource, requestOptions); } @@ -554,9 +534,7 @@ public Mono createJob(CreateJobOptions createJobOptions) { /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -606,6 +584,7 @@ public Mono createJob(CreateJobOptions createJobOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -763,67 +742,20 @@ public Mono cancelJob(String jobId, RequestOptions requestOptions) { /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -873,6 +805,7 @@ public Mono cancelJob(String jobId, RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -892,9 +825,7 @@ public PagedFlux listJobs(RequestOptions requestOptions) { /** * Gets a job's position details. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -921,17 +852,13 @@ public Mono> getQueuePositionWithResponse(String jobId, Req
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -946,8 +873,7 @@ public Mono> getQueuePositionWithResponse(String jobId, Req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response payload after a job has been successfully unassigned along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return response payload after a job has been successfully unassigned along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -958,9 +884,7 @@ public Mono> unassignJobWithResponse(String jobId, String a
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assignmentId: String (Required)
@@ -976,8 +900,7 @@ public Mono> unassignJobWithResponse(String jobId, String a
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response containing ids for the worker, job, and assignment from an accepted offer along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return response containing ids for the worker, job, and assignment from an accepted offer along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1052,9 +975,7 @@ public Mono declineJobOffer(String workerId, String offerId, Request
 
     /**
      * Retrieves a queue's statistics.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     queueId: String (Required)
@@ -1082,34 +1003,15 @@ public Mono> getQueueStatisticsWithResponse(String queueId,
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1154,9 +1056,7 @@ public Mono> getQueueStatisticsWithResponse(String queueId,
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1215,8 +1115,7 @@ public Mono> getQueueStatisticsWithResponse(String queueId,
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> upsertWorkerWithResponse(String workerId, BinaryData resource,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertWorkerWithResponseAsync(workerId, resource, requestOptions);
     }
 
@@ -1526,9 +1425,7 @@ public Mono createWorker(CreateWorkerOptions createWorkerOptions)
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1607,54 +1504,18 @@ public Mono> deleteWorkerWithResponse(String workerId, RequestOpt
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1818,11 +1679,13 @@ public PagedFlux listJobs(RouterJobStatusSelector status, String queu
         }
         PagedFlux pagedFluxResponse = listJobs(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterJob.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1845,11 +1708,13 @@ public PagedFlux listJobs() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listJobs(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterJob.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1910,8 +1775,7 @@ public Mono unassignJob(String jobId, String assignmentId) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return response containing ids for the worker, job, and assignment from an accepted offer on successful
-     * completion of {@link Mono}.
+     * @return response containing ids for the worker, job, and assignment from an accepted offer on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2040,11 +1904,13 @@ public PagedFlux listWorkers(RouterWorkerStateSelector state, Stri
         }
         PagedFlux pagedFluxResponse = listWorkers(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterWorker.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2067,11 +1933,13 @@ public PagedFlux listWorkers() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listWorkers(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(RouterWorker.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java
index 84fb6a865702..9545a2891e72 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClient.java
@@ -4,10 +4,6 @@
 package com.azure.communication.jobrouter;
 
 import com.azure.communication.jobrouter.implementation.JobRouterClientImpl;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy;
-import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy;
-import com.azure.communication.jobrouter.implementation.converters.JobAdapter;
-import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter;
 import com.azure.communication.jobrouter.implementation.models.CancelJobOptionsInternal;
 import com.azure.communication.jobrouter.implementation.models.CancelJobResultInternal;
 import com.azure.communication.jobrouter.implementation.models.CloseJobOptionsInternal;
@@ -21,13 +17,8 @@
 import com.azure.communication.jobrouter.implementation.models.RouterJobInternal;
 import com.azure.communication.jobrouter.implementation.models.RouterWorkerInternal;
 import com.azure.communication.jobrouter.models.AcceptJobOfferResult;
-import com.azure.communication.jobrouter.models.CreateJobOptions;
-import com.azure.communication.jobrouter.models.CreateWorkerOptions;
-import com.azure.communication.jobrouter.models.RouterJob;
 import com.azure.communication.jobrouter.models.RouterJobPositionDetails;
 import com.azure.communication.jobrouter.models.RouterJobStatusSelector;
-import com.azure.communication.jobrouter.models.RouterQueueStatistics;
-import com.azure.communication.jobrouter.models.RouterWorker;
 import com.azure.communication.jobrouter.models.RouterWorkerStateSelector;
 import com.azure.communication.jobrouter.models.UnassignJobOptions;
 import com.azure.communication.jobrouter.models.UnassignJobResult;
@@ -45,6 +36,15 @@
 import com.azure.core.http.rest.SimpleResponse;
 import com.azure.core.util.BinaryData;
 import java.time.OffsetDateTime;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterJobConstructorProxy;
+import com.azure.communication.jobrouter.implementation.accesshelpers.RouterWorkerConstructorProxy;
+import com.azure.communication.jobrouter.implementation.converters.JobAdapter;
+import com.azure.communication.jobrouter.implementation.converters.WorkerAdapter;
+import com.azure.communication.jobrouter.models.CreateJobOptions;
+import com.azure.communication.jobrouter.models.CreateWorkerOptions;
+import com.azure.communication.jobrouter.models.RouterJob;
+import com.azure.communication.jobrouter.models.RouterQueueStatistics;
+import com.azure.communication.jobrouter.models.RouterWorker;
 
 /**
  * Initializes a new instance of the synchronous JobRouterClient type.
@@ -67,34 +67,15 @@ public final class JobRouterClient {
 
     /**
      * Creates or updates a router job.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -144,12 +125,11 @@ public final class JobRouterClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -199,6 +179,7 @@ public final class JobRouterClient {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -215,8 +196,7 @@ public final class JobRouterClient { @Generated @ServiceMethod(returns = ReturnType.SINGLE) Response upsertJobWithResponse(String jobId, BinaryData resource, RequestOptions requestOptions) { - // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and - // stream-style-serialization is not enabled + // Convenience API is not generated, as operation 'upsertJob' is 'application/merge-patch+json' and stream-style-serialization is not enabled return this.serviceClient.upsertJobWithResponse(jobId, resource, requestOptions); } @@ -556,9 +536,7 @@ public RouterJob createJob(CreateJobOptions createJobOptions) { /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -608,6 +586,7 @@ public RouterJob createJob(CreateJobOptions createJobOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -769,67 +748,20 @@ public BinaryData cancelJob(String jobId, RequestOptions requestOptions) { /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -879,6 +811,7 @@ public BinaryData cancelJob(String jobId, RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -898,9 +831,7 @@ public PagedIterable listJobs(RequestOptions requestOptions) { /** * Gets a job's position details. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -927,17 +858,13 @@ public Response getQueuePositionWithResponse(String jobId, RequestOp
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -963,9 +890,7 @@ public Response unassignJobWithResponse(String jobId, String assignm
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assignmentId: String (Required)
@@ -981,8 +906,7 @@ public Response unassignJobWithResponse(String jobId, String assignm
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response containing ids for the worker, job, and assignment from an accepted offer along with
-     * {@link Response}.
+     * @return response containing ids for the worker, job, and assignment from an accepted offer along with {@link Response}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1058,9 +982,7 @@ public BinaryData declineJobOffer(String workerId, String offerId, RequestOption
 
     /**
      * Retrieves a queue's statistics.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     queueId: String (Required)
@@ -1088,34 +1010,15 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1160,9 +1063,7 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1220,8 +1121,7 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response upsertWorkerWithResponse(String workerId, BinaryData resource, RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and
-        // stream-style-serialization is not enabled
+        // Convenience API is not generated, as operation 'upsertWorker' is 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.upsertWorkerWithResponse(workerId, resource, requestOptions);
     }
 
@@ -1535,9 +1435,7 @@ public RouterWorker createWorker(CreateWorkerOptions createWorkerOptions) {
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1616,54 +1514,18 @@ public Response deleteWorkerWithResponse(String workerId, RequestOptions r
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java
index 1b2ca0cc07a9..dc21bd5288ec 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/JobRouterClientBuilder.java
@@ -3,18 +3,15 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter;
 
-import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.client.traits.TokenCredentialTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
+import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.communication.jobrouter.implementation.JobRouterClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
-import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.KeyCredential;
-import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
 import com.azure.core.http.HttpHeaderName;
 import com.azure.core.http.HttpHeaders;
@@ -24,8 +21,8 @@
 import com.azure.core.http.policy.AddDatePolicy;
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -42,6 +39,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.credential.KeyCredential;
+import com.azure.core.credential.TokenCredential;
 
 /**
  * A builder for creating a new instance of the JobRouterClient type.
@@ -263,17 +263,21 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
         policies.add(new AddDatePolicy());
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java
index 1ee22ed8e203..8b8c44a8d6f3 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterAdministrationClientImpl.java
@@ -152,8 +152,7 @@ public JobRouterAdministrationClientImpl(HttpPipeline httpPipeline, SerializerAd
     }
 
     /**
-     * The interface defining all the services for JobRouterAdministrationClient to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for JobRouterAdministrationClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "JobRouterAdministrat")
@@ -589,34 +588,15 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded =
 
     /**
      * Creates or updates a distribution policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -624,15 +604,14 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded =
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -640,6 +619,7 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded =
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -654,8 +634,7 @@ Response listQueuesNextSync(@PathParam(value = "nextLink", encoded =
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> upsertDistributionPolicyWithResponseAsync(String distributionPolicyId,
@@ -669,34 +648,15 @@ public Mono> upsertDistributionPolicyWithResponseAsync(Stri
 
     /**
      * Creates or updates a distribution policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -704,15 +664,14 @@ public Mono> upsertDistributionPolicyWithResponseAsync(Stri
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -720,6 +679,7 @@ public Mono> upsertDistributionPolicyWithResponseAsync(Stri
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -747,9 +707,7 @@ public Response upsertDistributionPolicyWithResponse(String distribu
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -757,6 +715,7 @@ public Response upsertDistributionPolicyWithResponse(String distribu
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -770,8 +729,7 @@ public Response upsertDistributionPolicyWithResponse(String distribu
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return policy governing how jobs are distributed to workers along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getDistributionPolicyWithResponseAsync(String distributionPolicyId,
@@ -783,9 +741,7 @@ public Mono> getDistributionPolicyWithResponseAsync(String
 
     /**
      * Retrieves an existing distribution policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -793,6 +749,7 @@ public Mono> getDistributionPolicyWithResponseAsync(String
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -818,28 +775,14 @@ public Response getDistributionPolicyWithResponse(String distributio
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -847,6 +790,7 @@ public Response getDistributionPolicyWithResponse(String distributio
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -859,8 +803,7 @@ public Response getDistributionPolicyWithResponse(String distributio
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DistributionPolicy items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DistributionPolicy items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDistributionPoliciesSinglePageAsync(RequestOptions requestOptions) {
@@ -874,28 +817,14 @@ private Mono> listDistributionPoliciesSinglePageAsync(
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -903,6 +832,7 @@ private Mono> listDistributionPoliciesSinglePageAsync(
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -948,28 +878,14 @@ public PagedFlux listDistributionPoliciesAsync(RequestOptions reques
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -977,6 +893,7 @@ public PagedFlux listDistributionPoliciesAsync(RequestOptions reques
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -1002,28 +919,14 @@ private PagedResponse listDistributionPoliciesSinglePage(RequestOpti
 
     /**
      * Retrieves existing distribution policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1031,6 +934,7 @@ private PagedResponse listDistributionPoliciesSinglePage(RequestOpti
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -1114,34 +1018,15 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1150,19 +1035,20 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1171,12 +1057,15 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1189,8 +1078,7 @@ public Response deleteDistributionPolicyWithResponse(String distributionPo
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> upsertClassificationPolicyWithResponseAsync(String classificationPolicyId,
@@ -1204,34 +1092,15 @@ public Mono> upsertClassificationPolicyWithResponseAsync(St
 
     /**
      * Creates or updates a classification policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1240,19 +1109,20 @@ public Mono> upsertClassificationPolicyWithResponseAsync(St
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1261,12 +1131,15 @@ public Mono> upsertClassificationPolicyWithResponseAsync(St
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1292,9 +1165,7 @@ public Response upsertClassificationPolicyWithResponse(String classi
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1303,12 +1174,15 @@ public Response upsertClassificationPolicyWithResponse(String classi
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1320,8 +1194,7 @@ public Response upsertClassificationPolicyWithResponse(String classi
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return a container for the rules that govern how jobs are classified along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getClassificationPolicyWithResponseAsync(String classificationPolicyId,
@@ -1333,9 +1206,7 @@ public Mono> getClassificationPolicyWithResponseAsync(Strin
 
     /**
      * Retrieves an existing classification policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1344,12 +1215,15 @@ public Mono> getClassificationPolicyWithResponseAsync(Strin
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1373,28 +1247,14 @@ public Response getClassificationPolicyWithResponse(String classific
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1403,12 +1263,15 @@ public Response getClassificationPolicyWithResponse(String classific
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1419,8 +1282,7 @@ public Response getClassificationPolicyWithResponse(String classific
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of ClassificationPolicy items along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return paged collection of ClassificationPolicy items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listClassificationPoliciesSinglePageAsync(RequestOptions requestOptions) {
@@ -1434,28 +1296,14 @@ private Mono> listClassificationPoliciesSinglePageAsyn
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1464,12 +1312,15 @@ private Mono> listClassificationPoliciesSinglePageAsyn
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1513,28 +1364,14 @@ public PagedFlux listClassificationPoliciesAsync(RequestOptions requ
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1543,12 +1380,15 @@ public PagedFlux listClassificationPoliciesAsync(RequestOptions requ
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1572,28 +1412,14 @@ private PagedResponse listClassificationPoliciesSinglePage(RequestOp
 
     /**
      * Retrieves existing classification policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1602,12 +1428,15 @@ private PagedResponse listClassificationPoliciesSinglePage(RequestOp
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -1689,34 +1518,15 @@ public Response deleteClassificationPolicyWithResponse(String classificati
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1726,9 +1536,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1736,9 +1548,7 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1748,9 +1558,11 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1766,8 +1578,7 @@ public Response deleteClassificationPolicyWithResponse(String classificati
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a policy that defines actions to execute when exception are triggered along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return a policy that defines actions to execute when exception are triggered along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> upsertExceptionPolicyWithResponseAsync(String exceptionPolicyId,
@@ -1781,34 +1592,15 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
 
     /**
      * Creates or updates a exception policy.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1818,9 +1610,11 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1828,9 +1622,7 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1840,9 +1632,11 @@ public Mono> upsertExceptionPolicyWithResponseAsync(String
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1871,9 +1665,7 @@ public Response upsertExceptionPolicyWithResponse(String exceptionPo
 
     /**
      * Retrieves an existing exception policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1883,9 +1675,11 @@ public Response upsertExceptionPolicyWithResponse(String exceptionPo
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1900,8 +1694,7 @@ public Response upsertExceptionPolicyWithResponse(String exceptionPo
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a policy that defines actions to execute when exception are triggered along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return a policy that defines actions to execute when exception are triggered along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getExceptionPolicyWithResponseAsync(String exceptionPolicyId,
@@ -1913,9 +1706,7 @@ public Mono> getExceptionPolicyWithResponseAsync(String exc
 
     /**
      * Retrieves an existing exception policy by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1925,9 +1716,11 @@ public Mono> getExceptionPolicyWithResponseAsync(String exc
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -1954,28 +1747,14 @@ public Response getExceptionPolicyWithResponse(String exceptionPolic
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1985,9 +1764,11 @@ public Response getExceptionPolicyWithResponse(String exceptionPolic
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2001,8 +1782,7 @@ public Response getExceptionPolicyWithResponse(String exceptionPolic
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of ExceptionPolicy items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of ExceptionPolicy items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listExceptionPoliciesSinglePageAsync(RequestOptions requestOptions) {
@@ -2016,28 +1796,14 @@ private Mono> listExceptionPoliciesSinglePageAsync(Req
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2047,9 +1813,11 @@ private Mono> listExceptionPoliciesSinglePageAsync(Req
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2096,28 +1864,14 @@ public PagedFlux listExceptionPoliciesAsync(RequestOptions requestOp
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2127,9 +1881,11 @@ public PagedFlux listExceptionPoliciesAsync(RequestOptions requestOp
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2156,28 +1912,14 @@ private PagedResponse listExceptionPoliciesSinglePage(RequestOptions
 
     /**
      * Retrieves existing exception policies.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2187,9 +1929,11 @@ private PagedResponse listExceptionPoliciesSinglePage(RequestOptions
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2273,34 +2017,15 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2313,9 +2038,7 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2336,8 +2059,7 @@ public Response deleteExceptionPolicyWithResponse(String exceptionPolicyId
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> upsertQueueWithResponseAsync(String queueId, BinaryData resource,
@@ -2350,34 +2072,15 @@ public Mono> upsertQueueWithResponseAsync(String queueId, B
 
     /**
      * Creates or updates a queue.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2390,9 +2093,7 @@ public Mono> upsertQueueWithResponseAsync(String queueId, B
      *     exceptionPolicyId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2426,9 +2127,7 @@ public Response upsertQueueWithResponse(String queueId, BinaryData r
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2448,8 +2147,7 @@ public Response upsertQueueWithResponse(String queueId, BinaryData r
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a queue that can contain jobs to be routed along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getQueueWithResponseAsync(String queueId, RequestOptions requestOptions) {
@@ -2460,9 +2158,7 @@ public Mono> getQueueWithResponseAsync(String queueId, Requ
 
     /**
      * Retrieves an existing queue by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2493,28 +2189,14 @@ public Response getQueueWithResponse(String queueId, RequestOptions
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2533,8 +2215,7 @@ public Response getQueueWithResponse(String queueId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of RouterQueue items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of RouterQueue items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listQueuesSinglePageAsync(RequestOptions requestOptions) {
@@ -2548,28 +2229,14 @@ private Mono> listQueuesSinglePageAsync(RequestOptions
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2621,28 +2288,14 @@ public PagedFlux listQueuesAsync(RequestOptions requestOptions) {
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2674,28 +2327,14 @@ private PagedResponse listQueuesSinglePage(RequestOptions requestOpt
 
     /**
      * Retrieves existing queues.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2785,9 +2424,7 @@ public Response deleteQueueWithResponse(String queueId, RequestOptions req
      * Retrieves existing distribution policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2795,6 +2432,7 @@ public Response deleteQueueWithResponse(String queueId, RequestOptions req
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -2810,8 +2448,7 @@ public Response deleteQueueWithResponse(String queueId, RequestOptions req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DistributionPolicy items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DistributionPolicy items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDistributionPoliciesNextSinglePageAsync(String nextLink,
@@ -2828,9 +2465,7 @@ private Mono> listDistributionPoliciesNextSinglePageAs
      * Retrieves existing distribution policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2838,6 +2473,7 @@ private Mono> listDistributionPoliciesNextSinglePageAs
      *     name: String (Optional)
      *     offerExpiresAfterSeconds: Double (Optional)
      *     mode (Optional): {
+     *         kind: String(bestWorker/longestIdle/roundRobin) (Required)
      *         minConcurrentOffers: Integer (Optional)
      *         maxConcurrentOffers: Integer (Optional)
      *         bypassSelectors: Boolean (Optional)
@@ -2869,9 +2505,7 @@ private PagedResponse listDistributionPoliciesNextSinglePage(String
      * Retrieves existing classification policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2880,12 +2514,15 @@ private PagedResponse listDistributionPoliciesNextSinglePage(String
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -2899,8 +2536,7 @@ private PagedResponse listDistributionPoliciesNextSinglePage(String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of ClassificationPolicy items along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return paged collection of ClassificationPolicy items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listClassificationPoliciesNextSinglePageAsync(String nextLink,
@@ -2917,9 +2553,7 @@ private Mono> listClassificationPoliciesNextSinglePage
      * Retrieves existing classification policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2928,12 +2562,15 @@ private Mono> listClassificationPoliciesNextSinglePage
      *     fallbackQueueId: String (Optional)
      *     queueSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      *     prioritizationRule (Optional): {
+     *         kind: String(directMap/expression/function/static/webhook) (Required)
      *     }
      *     workerSelectorAttachments (Optional): [
      *          (Optional){
+     *             kind: String(conditional/passThrough/ruleEngine/static/weightedAllocation) (Required)
      *         }
      *     ]
      * }
@@ -2963,9 +2600,7 @@ private PagedResponse listClassificationPoliciesNextSinglePage(Strin
      * Retrieves existing exception policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2975,9 +2610,11 @@ private PagedResponse listClassificationPoliciesNextSinglePage(Strin
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -2994,8 +2631,7 @@ private PagedResponse listClassificationPoliciesNextSinglePage(Strin
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of ExceptionPolicy items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of ExceptionPolicy items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listExceptionPoliciesNextSinglePageAsync(String nextLink,
@@ -3011,9 +2647,7 @@ private Mono> listExceptionPoliciesNextSinglePageAsync
      * Retrieves existing exception policies.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3023,9 +2657,11 @@ private Mono> listExceptionPoliciesNextSinglePageAsync
      *          (Optional){
      *             id: String (Required)
      *             trigger (Required): {
+     *                 kind: String(queueLength/waitTime) (Required)
      *             }
      *             actions (Required): [
      *                  (Required){
+     *                     kind: String(cancel/manualReclassify/reclassify) (Required)
      *                     id: String (Optional)
      *                 }
      *             ]
@@ -3058,9 +2694,7 @@ private PagedResponse listExceptionPoliciesNextSinglePage(String nex
      * Retrieves existing queues.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3082,8 +2716,7 @@ private PagedResponse listExceptionPoliciesNextSinglePage(String nex
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of RouterQueue items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of RouterQueue items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listQueuesNextSinglePageAsync(String nextLink,
@@ -3100,9 +2733,7 @@ private Mono> listQueuesNextSinglePageAsync(String nex
      * Retrieves existing queues.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java
index f3d61933e837..23b90c43febc 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/JobRouterClientImpl.java
@@ -152,8 +152,7 @@ public JobRouterClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializ
     }
 
     /**
-     * The interface defining all the services for JobRouterClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for JobRouterClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "JobRouterClient")
@@ -559,34 +558,15 @@ Response listWorkersNextSync(@PathParam(value = "nextLink", encoded
 
     /**
      * Creates or updates a router job.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -636,12 +616,11 @@ Response listWorkersNextSync(@PathParam(value = "nextLink", encoded
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -691,6 +670,7 @@ Response listWorkersNextSync(@PathParam(value = "nextLink", encoded
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -715,34 +695,15 @@ public Mono> upsertJobWithResponseAsync(String jobId, Binar /** * Creates or updates a router job. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -792,12 +753,11 @@ public Mono> upsertJobWithResponseAsync(String jobId, Binar
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -847,6 +807,7 @@ public Mono> upsertJobWithResponseAsync(String jobId, Binar
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -871,9 +832,7 @@ public Response upsertJobWithResponse(String jobId, BinaryData resou /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -923,6 +882,7 @@ public Response upsertJobWithResponse(String jobId, BinaryData resou
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -944,9 +904,7 @@ public Mono> getJobWithResponseAsync(String jobId, RequestO /** * Retrieves an existing job by Id. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -996,6 +954,7 @@ public Mono> getJobWithResponseAsync(String jobId, RequestO
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1053,16 +1012,12 @@ public Response deleteJobWithResponse(String jobId, RequestOptions request /** * Reclassify a job. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1074,8 +1029,7 @@ public Response deleteJobWithResponse(String jobId, RequestOptions request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response payload from reclassifying a job along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return response payload from reclassifying a job along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> reclassifyJobWithResponseAsync(String jobId, RequestOptions requestOptions) {
@@ -1092,16 +1046,12 @@ public Mono> reclassifyJobWithResponseAsync(String jobId, R
 
     /**
      * Reclassify a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1130,18 +1080,14 @@ public Response reclassifyJobWithResponse(String jobId, RequestOptio
 
     /**
      * Submits request to cancel an existing job by Id while supplying free-form cancellation reason.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1153,8 +1099,7 @@ public Response reclassifyJobWithResponse(String jobId, RequestOptio
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response payload from cancelling a job along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return response payload from cancelling a job along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> cancelJobWithResponseAsync(String jobId, RequestOptions requestOptions) {
@@ -1171,18 +1116,14 @@ public Mono> cancelJobWithResponseAsync(String jobId, Reque
 
     /**
      * Submits request to cancel an existing job by Id while supplying free-form cancellation reason.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     note: String (Optional)
      *     dispositionCode: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1211,17 +1152,13 @@ public Response cancelJobWithResponse(String jobId, RequestOptions r
 
     /**
      * Completes an assigned job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1234,8 +1171,7 @@ public Response cancelJobWithResponse(String jobId, RequestOptions r
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response payload from completing a job along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return response payload from completing a job along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> completeJobWithResponseAsync(String jobId, String assignmentId,
@@ -1253,17 +1189,13 @@ public Mono> completeJobWithResponseAsync(String jobId, Str
 
     /**
      * Completes an assigned job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1294,9 +1226,7 @@ public Response completeJobWithResponse(String jobId, String assignm
 
     /**
      * Closes a completed job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -1304,9 +1234,7 @@ public Response completeJobWithResponse(String jobId, String assignm
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1337,9 +1265,7 @@ public Mono> closeJobWithResponseAsync(String jobId, String
 
     /**
      * Closes a completed job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     dispositionCode: String (Optional)
@@ -1347,9 +1273,7 @@ public Mono> closeJobWithResponseAsync(String jobId, String
      *     note: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -1379,67 +1303,20 @@ public Response closeJobWithResponse(String jobId, String assignment
 
     /**
      * Retrieves list of jobs based on filter parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1489,6 +1366,7 @@ public Response closeJobWithResponse(String jobId, String assignment
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1498,8 +1376,7 @@ public Response closeJobWithResponse(String jobId, String assignment * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return paged collection of RouterJob items along with {@link PagedResponse} on successful completion of - * {@link Mono}. + * @return paged collection of RouterJob items along with {@link PagedResponse} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> listJobsSinglePageAsync(RequestOptions requestOptions) { @@ -1513,67 +1390,20 @@ private Mono> listJobsSinglePageAsync(RequestOptions r /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1623,6 +1453,7 @@ private Mono> listJobsSinglePageAsync(RequestOptions r
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1665,67 +1496,20 @@ public PagedFlux listJobsAsync(RequestOptions requestOptions) { /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1775,6 +1559,7 @@ public PagedFlux listJobsAsync(RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1797,67 +1582,20 @@ private PagedResponse listJobsSinglePage(RequestOptions requestOptio /** * Retrieves list of jobs based on filter parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", - * "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", - * "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, - * scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
statusStringNoIf specified, filter jobs by status. Allowed values: "all", "pendingClassification", "queued", "assigned", "completed", "closed", "cancelled", "classificationFailed", "created", "pendingSchedule", "scheduled", "scheduleFailed", "waitingForActivation", "active".
queueIdStringNoIf specified, filter jobs by queue.
channelIdStringNoIf specified, filter jobs by channel.
classificationPolicyIdStringNoIf specified, filter jobs by classificationPolicy.
scheduledBeforeOffsetDateTimeNoIf specified, filter on jobs that was scheduled before or at given timestamp. Range: (-Inf, scheduledBefore].
scheduledAfterOffsetDateTimeNoIf specified, filter on jobs that was scheduled at or after given value. Range: [scheduledAfter, +Inf).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -1907,6 +1645,7 @@ private PagedResponse listJobsSinglePage(RequestOptions requestOptio
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -1949,9 +1688,7 @@ public PagedIterable listJobs(RequestOptions requestOptions) { /** * Gets a job's position details. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -1979,9 +1716,7 @@ public Mono> getQueuePositionWithResponseAsync(String jobId
 
     /**
      * Gets a job's position details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -2009,17 +1744,13 @@ public Response getQueuePositionWithResponse(String jobId, RequestOp
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -2034,8 +1765,7 @@ public Response getQueuePositionWithResponse(String jobId, RequestOp
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response payload after a job has been successfully unassigned along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return response payload after a job has been successfully unassigned along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> unassignJobWithResponseAsync(String jobId, String assignmentId,
@@ -2053,17 +1783,13 @@ public Mono> unassignJobWithResponseAsync(String jobId, Str
 
     /**
      * Unassign a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     suspendMatching: Boolean (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     jobId: String (Required)
@@ -2096,9 +1822,7 @@ public Response unassignJobWithResponse(String jobId, String assignm
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assignmentId: String (Required)
@@ -2114,8 +1838,7 @@ public Response unassignJobWithResponse(String jobId, String assignm
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response containing ids for the worker, job, and assignment from an accepted offer along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return response containing ids for the worker, job, and assignment from an accepted offer along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> acceptJobOfferWithResponseAsync(String workerId, String offerId,
@@ -2127,9 +1850,7 @@ public Mono> acceptJobOfferWithResponseAsync(String workerI
 
     /**
      * Accepts an offer to work on a job and returns a 409/Conflict if another agent accepted the job already.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assignmentId: String (Required)
@@ -2145,8 +1866,7 @@ public Mono> acceptJobOfferWithResponseAsync(String workerI
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response containing ids for the worker, job, and assignment from an accepted offer along with
-     * {@link Response}.
+     * @return response containing ids for the worker, job, and assignment from an accepted offer along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response acceptJobOfferWithResponse(String workerId, String offerId,
@@ -2158,17 +1878,13 @@ public Response acceptJobOfferWithResponse(String workerId, String o
 
     /**
      * Declines an offer to work on a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -2181,8 +1897,7 @@ public Response acceptJobOfferWithResponse(String workerId, String o
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return response payload from declining a job along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return response payload from declining a job along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> declineJobOfferWithResponseAsync(String workerId, String offerId,
@@ -2200,17 +1915,13 @@ public Mono> declineJobOfferWithResponseAsync(String worker
 
     /**
      * Declines an offer to work on a job.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     retryOfferAt: OffsetDateTime (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      * }
@@ -2241,9 +1952,7 @@ public Response declineJobOfferWithResponse(String workerId, String
 
     /**
      * Retrieves a queue's statistics.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     queueId: String (Required)
@@ -2273,9 +1982,7 @@ public Mono> getQueueStatisticsWithResponseAsync(String que
 
     /**
      * Retrieves a queue's statistics.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     queueId: String (Required)
@@ -2304,34 +2011,15 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2376,9 +2064,7 @@ public Response getQueueStatisticsWithResponse(String queueId, Reque
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2444,34 +2130,15 @@ public Mono> upsertWorkerWithResponseAsync(String workerId,
 
     /**
      * Creates or updates a worker.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
Header Parameters
NameTypeRequiredDescription
If-MatchStringNoThe request should only proceed if an entity matches this string.
If-Unmodified-SinceOffsetDateTimeNoThe request should only proceed if the entity was not modified after this time.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2516,9 +2183,7 @@ public Mono> upsertWorkerWithResponseAsync(String workerId,
      *     maxConcurrentOffers: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2584,9 +2249,7 @@ public Response upsertWorkerWithResponse(String workerId, BinaryData
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2649,9 +2312,7 @@ public Mono> getWorkerWithResponseAsync(String workerId, Re
 
     /**
      * Retrieves an existing worker by Id.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2750,54 +2411,18 @@ public Response deleteWorkerWithResponse(String workerId, RequestOptions r
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2848,8 +2473,7 @@ public Response deleteWorkerWithResponse(String workerId, RequestOptions r
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of RouterWorker items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of RouterWorker items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listWorkersSinglePageAsync(RequestOptions requestOptions) {
@@ -2863,54 +2487,18 @@ private Mono> listWorkersSinglePageAsync(RequestOption
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -2994,54 +2582,18 @@ public PagedFlux listWorkersAsync(RequestOptions requestOptions) {
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3105,54 +2657,18 @@ private PagedResponse listWorkersSinglePage(RequestOptions requestOp
 
     /**
      * Retrieves existing workers.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any - * channel if `channelId` not specified. If set to false, then will return all workers including workers without any - * capacity for jobs. Defaults to false.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
stateStringNoIf specified, select workers by worker state. Allowed values: "active", "draining", "inactive", "all".
channelIdStringNoIf specified, select workers who have a channel configuration with this channel.
queueIdStringNoIf specified, select workers who are assigned to this queue.
hasCapacityBooleanNoIf set to true, select only workers who have capacity for the channel specified by `channelId` or for any channel if `channelId` not specified. If set to false, then will return all workers including workers without any capacity for jobs. Defaults to false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3238,9 +2754,7 @@ public PagedIterable listWorkers(RequestOptions requestOptions) {
      * Retrieves list of jobs based on filter parameters.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3290,6 +2804,7 @@ public PagedIterable listWorkers(RequestOptions requestOptions) {
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -3302,8 +2817,7 @@ public PagedIterable listWorkers(RequestOptions requestOptions) { * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return paged collection of RouterJob items along with {@link PagedResponse} on successful completion of - * {@link Mono}. + * @return paged collection of RouterJob items along with {@link PagedResponse} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> listJobsNextSinglePageAsync(String nextLink, @@ -3319,9 +2833,7 @@ private Mono> listJobsNextSinglePageAsync(String nextL * Retrieves list of jobs based on filter parameters. * * Get the next page of items. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3371,6 +2883,7 @@ private Mono> listJobsNextSinglePageAsync(String nextL
      *     ]
      *     scheduledAt: OffsetDateTime (Optional)
      *     matchingMode (Optional): {
+     *         kind: String(queueAndMatch/scheduleAndSuspend/suspend) (Required)
      *     }
      * }
      * }
@@ -3398,9 +2911,7 @@ private PagedResponse listJobsNextSinglePage(String nextLink, Reques * Retrieves existing workers. * * Get the next page of items. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
@@ -3454,8 +2965,7 @@ private PagedResponse listJobsNextSinglePage(String nextLink, Reques
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of RouterWorker items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of RouterWorker items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listWorkersNextSinglePageAsync(String nextLink,
@@ -3472,9 +2982,7 @@ private Mono> listWorkersNextSinglePageAsync(String ne
      * Retrieves existing workers.
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     etag: String (Required)
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java
index 7c401158a10b..659afa002662 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/BestWorkerModeInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.communication.jobrouter.models.ScoringRuleOptions;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
@@ -13,16 +14,13 @@
 /**
  * Jobs are distributed to the worker with the strongest abilities available.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = BestWorkerModeInternal.class, visible = true)
 @JsonTypeName("bestWorker")
 @Fluent
 public final class BestWorkerModeInternal extends DistributionModeInternal {
 
     /*
-     * Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a
-     * default scoring formula that uses the number of job labels that the worker labels match, as well as the number
-     * of label selectors the worker labels match and/or exceed using a logistic function
-     * (https://en.wikipedia.org/wiki/Logistic_function).
+     * Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function (https://en.wikipedia.org/wiki/Logistic_function).
      */
     @Generated
     @JsonProperty(value = "scoringRule")
@@ -40,13 +38,11 @@ public final class BestWorkerModeInternal extends DistributionModeInternal {
      */
     @Generated
     public BestWorkerModeInternal() {
+        setKind(DistributionModeKind.BEST_WORKER);
     }
 
     /**
-     * Get the scoringRule property: Define a scoring rule to use, when calculating a score to determine the best
-     * worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels
-     * match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function
-     * (https://en.wikipedia.org/wiki/Logistic_function).
+     * Get the scoringRule property: Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function (https://en.wikipedia.org/wiki/Logistic_function).
      *
      * @return the scoringRule value.
      */
@@ -56,10 +52,7 @@ public RouterRuleInternal getScoringRule() {
     }
 
     /**
-     * Set the scoringRule property: Define a scoring rule to use, when calculating a score to determine the best
-     * worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels
-     * match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function
-     * (https://en.wikipedia.org/wiki/Logistic_function).
+     * Set the scoringRule property: Define a scoring rule to use, when calculating a score to determine the best worker. If not set, will use a default scoring formula that uses the number of job labels that the worker labels match, as well as the number of label selectors the worker labels match and/or exceed using a logistic function (https://en.wikipedia.org/wiki/Logistic_function).
      *
      * @param scoringRule the scoringRule value to set.
      * @return the BestWorkerModeInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java
index f5145c61bbe7..3bf34999b96f 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelExceptionActionInternal.java
@@ -12,7 +12,11 @@
 /**
  * An action that marks a job as cancelled.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = CancelExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("cancel")
 @Fluent
 public final class CancelExceptionActionInternal extends ExceptionActionInternal {
@@ -36,6 +40,7 @@ public final class CancelExceptionActionInternal extends ExceptionActionInternal
      */
     @Generated
     public CancelExceptionActionInternal() {
+        setKind(ExceptionActionKind.CANCEL);
     }
 
     /**
@@ -61,8 +66,7 @@ public CancelExceptionActionInternal setNote(String note) {
     }
 
     /**
-     * Get the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom
-     * values.
+     * Get the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom values.
      *
      * @return the dispositionCode value.
      */
@@ -72,8 +76,7 @@ public String getDispositionCode() {
     }
 
     /**
-     * Set the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom
-     * values.
+     * Set the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom values.
      *
      * @param dispositionCode the dispositionCode value to set.
      * @return the CancelExceptionActionInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java
index 1963aa9cb945..b4352b46b873 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CancelJobOptionsInternal.java
@@ -21,8 +21,7 @@ public final class CancelJobOptionsInternal {
     private String note;
 
     /*
-     * Indicates the outcome of a job, populate this field with your own custom values. If not provided, default value
-     * of "Cancelled" is set.
+     * Indicates the outcome of a job, populate this field with your own custom values. If not provided, default value of "Cancelled" is set.
      */
     @Generated
     @JsonProperty(value = "dispositionCode")
@@ -58,8 +57,7 @@ public CancelJobOptionsInternal setNote(String note) {
     }
 
     /**
-     * Get the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom
-     * values. If not provided, default value of "Cancelled" is set.
+     * Get the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom values. If not provided, default value of "Cancelled" is set.
      *
      * @return the dispositionCode value.
      */
@@ -69,8 +67,7 @@ public String getDispositionCode() {
     }
 
     /**
-     * Set the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom
-     * values. If not provided, default value of "Cancelled" is set.
+     * Set the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom values. If not provided, default value of "Cancelled" is set.
      *
      * @param dispositionCode the dispositionCode value to set.
      * @return the CancelJobOptionsInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java
index 28eca8431881..6dc418cca5b9 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ClassificationPolicyInternal.java
@@ -135,8 +135,7 @@ public ClassificationPolicyInternal setName(String name) {
     }
 
     /**
-     * Get the fallbackQueueId property: Id of a fallback queue to select if queue selector attachments doesn't find a
-     * match.
+     * Get the fallbackQueueId property: Id of a fallback queue to select if queue selector attachments doesn't find a match.
      *
      * @return the fallbackQueueId value.
      */
@@ -146,8 +145,7 @@ public String getFallbackQueueId() {
     }
 
     /**
-     * Set the fallbackQueueId property: Id of a fallback queue to select if queue selector attachments doesn't find a
-     * match.
+     * Set the fallbackQueueId property: Id of a fallback queue to select if queue selector attachments doesn't find a match.
      *
      * @param fallbackQueueId the fallbackQueueId value to set.
      * @return the ClassificationPolicyInternal object itself.
@@ -204,8 +202,7 @@ public ClassificationPolicyInternal setPrioritizationRule(RouterRuleInternal pri
     }
 
     /**
-     * Get the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a
-     * job.
+     * Get the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a job.
      *
      * @return the workerSelectorAttachments value.
      */
@@ -215,8 +212,7 @@ public List getWorkerSelectorAttachments() {
     }
 
     /**
-     * Set the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a
-     * job.
+     * Set the workerSelectorAttachments property: Worker selector attachments used to attach worker selectors to a job.
      *
      * @param workerSelectorAttachments the workerSelectorAttachments value to set.
      * @return the ClassificationPolicyInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java
index 855d481e6a97..1ee4312774e0 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/CloseJobOptionsInternal.java
@@ -22,8 +22,7 @@ public final class CloseJobOptionsInternal {
     private String dispositionCode;
 
     /*
-     * If not provided, worker capacity is released immediately along with a JobClosedEvent notification. If provided,
-     * worker capacity is released along with a JobClosedEvent notification at a future time in UTC.
+     * If not provided, worker capacity is released immediately along with a JobClosedEvent notification. If provided, worker capacity is released along with a JobClosedEvent notification at a future time in UTC.
      */
     @Generated
     @JsonProperty(value = "closeAt")
@@ -44,8 +43,7 @@ public CloseJobOptionsInternal() {
     }
 
     /**
-     * Get the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom
-     * values.
+     * Get the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom values.
      *
      * @return the dispositionCode value.
      */
@@ -55,8 +53,7 @@ public String getDispositionCode() {
     }
 
     /**
-     * Set the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom
-     * values.
+     * Set the dispositionCode property: Indicates the outcome of a job, populate this field with your own custom values.
      *
      * @param dispositionCode the dispositionCode value to set.
      * @return the CloseJobOptionsInternal object itself.
@@ -68,9 +65,7 @@ public CloseJobOptionsInternal setDispositionCode(String dispositionCode) {
     }
 
     /**
-     * Get the closeAt property: If not provided, worker capacity is released immediately along with a JobClosedEvent
-     * notification. If provided, worker capacity is released along with a JobClosedEvent notification at a future time
-     * in UTC.
+     * Get the closeAt property: If not provided, worker capacity is released immediately along with a JobClosedEvent notification. If provided, worker capacity is released along with a JobClosedEvent notification at a future time in UTC.
      *
      * @return the closeAt value.
      */
@@ -80,9 +75,7 @@ public OffsetDateTime getCloseAt() {
     }
 
     /**
-     * Set the closeAt property: If not provided, worker capacity is released immediately along with a JobClosedEvent
-     * notification. If provided, worker capacity is released along with a JobClosedEvent notification at a future time
-     * in UTC.
+     * Set the closeAt property: If not provided, worker capacity is released immediately along with a JobClosedEvent notification. If provided, worker capacity is released along with a JobClosedEvent notification at a future time in UTC.
      *
      * @param closeAt the closeAt value to set.
      * @return the CloseJobOptionsInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java
index cfad9de0b64b..39a09b9da0e1 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalQueueSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * Describes a set of queue selectors that will be attached if the given condition resolves to true.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ConditionalQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("conditional")
 @Immutable
 public final class ConditionalQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -24,14 +29,14 @@ public final class ConditionalQueueSelectorAttachmentInternal extends QueueSelec
      */
     @Generated
     @JsonProperty(value = "condition")
-    private RouterRuleInternal condition;
+    private final RouterRuleInternal condition;
 
     /*
      * The queue selectors to attach.
      */
     @Generated
     @JsonProperty(value = "queueSelectors")
-    private List queueSelectors;
+    private final List queueSelectors;
 
     /**
      * Creates an instance of ConditionalQueueSelectorAttachmentInternal class.
@@ -43,6 +48,7 @@ public final class ConditionalQueueSelectorAttachmentInternal extends QueueSelec
     @JsonCreator
     public ConditionalQueueSelectorAttachmentInternal(@JsonProperty(value = "condition") RouterRuleInternal condition,
         @JsonProperty(value = "queueSelectors") List queueSelectors) {
+        setKind(QueueSelectorAttachmentKind.CONDITIONAL);
         this.condition = condition;
         this.queueSelectors = queueSelectors;
     }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java
index 82963805f34e..c6906bcb26fd 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ConditionalWorkerSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * Describes a set of worker selectors that will be attached if the given condition resolves to true.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ConditionalWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("conditional")
 @Immutable
 public final class ConditionalWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -24,14 +29,14 @@ public final class ConditionalWorkerSelectorAttachmentInternal extends WorkerSel
      */
     @Generated
     @JsonProperty(value = "condition")
-    private RouterRuleInternal condition;
+    private final RouterRuleInternal condition;
 
     /*
      * The worker selectors to attach.
      */
     @Generated
     @JsonProperty(value = "workerSelectors")
-    private List workerSelectors;
+    private final List workerSelectors;
 
     /**
      * Creates an instance of ConditionalWorkerSelectorAttachmentInternal class.
@@ -43,6 +48,7 @@ public final class ConditionalWorkerSelectorAttachmentInternal extends WorkerSel
     @JsonCreator
     public ConditionalWorkerSelectorAttachmentInternal(@JsonProperty(value = "condition") RouterRuleInternal condition,
         @JsonProperty(value = "workerSelectors") List workerSelectors) {
+        setKind(WorkerSelectorAttachmentKind.CONDITIONAL);
         this.condition = condition;
         this.workerSelectors = workerSelectors;
     }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java
index f8cc38a94d0e..c5cecb699f13 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DeclineJobOfferOptionsInternal.java
@@ -15,10 +15,7 @@
 public final class DeclineJobOfferOptionsInternal {
 
     /*
-     * If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job
-     * unless the worker is de-registered and re-registered. If a RetryOfferAt time is provided, then the job will be
-     * re-matched to eligible workers at the retry time in UTC. The worker that declined the job will also be eligible
-     * for the job at that time.
+     * If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless the worker is de-registered and re-registered.  If a RetryOfferAt time is provided, then the job will be re-matched to eligible workers at the retry time in UTC.  The worker that declined the job will also be eligible for the job at that time.
      */
     @Generated
     @JsonProperty(value = "retryOfferAt")
@@ -32,10 +29,7 @@ public DeclineJobOfferOptionsInternal() {
     }
 
     /**
-     * Get the retryOfferAt property: If the RetryOfferAt is not provided, then this job will not be offered again to
-     * the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time
-     * is provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that
-     * declined the job will also be eligible for the job at that time.
+     * Get the retryOfferAt property: If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless the worker is de-registered and re-registered.  If a RetryOfferAt time is provided, then the job will be re-matched to eligible workers at the retry time in UTC.  The worker that declined the job will also be eligible for the job at that time.
      *
      * @return the retryOfferAt value.
      */
@@ -45,10 +39,7 @@ public OffsetDateTime getRetryOfferAt() {
     }
 
     /**
-     * Set the retryOfferAt property: If the RetryOfferAt is not provided, then this job will not be offered again to
-     * the worker who declined this job unless the worker is de-registered and re-registered. If a RetryOfferAt time
-     * is provided, then the job will be re-matched to eligible workers at the retry time in UTC. The worker that
-     * declined the job will also be eligible for the job at that time.
+     * Set the retryOfferAt property: If the RetryOfferAt is not provided, then this job will not be offered again to the worker who declined this job unless the worker is de-registered and re-registered.  If a RetryOfferAt time is provided, then the job will be re-matched to eligible workers at the retry time in UTC.  The worker that declined the job will also be eligible for the job at that time.
      *
      * @param retryOfferAt the retryOfferAt value to set.
      * @return the DeclineJobOfferOptionsInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java
index 50cae711144b..0df908056aff 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DirectMapRouterRuleInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -11,7 +12,11 @@
 /**
  * A rule that return the same labels as the input labels.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = DirectMapRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("directMap")
 @Immutable
 public final class DirectMapRouterRuleInternal extends RouterRuleInternal {
@@ -21,5 +26,6 @@ public final class DirectMapRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     public DirectMapRouterRuleInternal() {
+        setKind(RouterRuleKind.DIRECT_MAP);
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java
index d1202eaa5f32..f5dcf6b3130d 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionModeInternal.java
@@ -3,10 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -15,9 +17,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = DistributionModeInternal.class)
+    defaultImpl = DistributionModeInternal.class,
+    visible = true)
 @JsonTypeName("DistributionModeInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "bestWorker", value = BestWorkerModeInternal.class),
@@ -41,9 +43,7 @@ public class DistributionModeInternal {
     private Integer maxConcurrentOffers;
 
     /*
-     * If set to true, then router will match workers to jobs even if they don't match label selectors. Warning: You
-     * may get workers that are not qualified for a job they are matched with if you set this variable to true. This
-     * flag is intended more for temporary usage. By default, set to false.
+     * If set to true, then router will match workers to jobs even if they don't match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
      */
     @Generated
     @JsonProperty(value = "bypassSelectors")
@@ -54,11 +54,11 @@ public class DistributionModeInternal {
      */
     @Generated
     public DistributionModeInternal() {
+        this.kind = DistributionModeKind.fromString("DistributionModeInternal");
     }
 
     /**
-     * Get the minConcurrentOffers property: Governs the minimum desired number of active concurrent offers a job can
-     * have.
+     * Get the minConcurrentOffers property: Governs the minimum desired number of active concurrent offers a job can have.
      *
      * @return the minConcurrentOffers value.
      */
@@ -68,8 +68,7 @@ public Integer getMinConcurrentOffers() {
     }
 
     /**
-     * Set the minConcurrentOffers property: Governs the minimum desired number of active concurrent offers a job can
-     * have.
+     * Set the minConcurrentOffers property: Governs the minimum desired number of active concurrent offers a job can have.
      *
      * @param minConcurrentOffers the minConcurrentOffers value to set.
      * @return the DistributionModeInternal object itself.
@@ -103,9 +102,7 @@ public DistributionModeInternal setMaxConcurrentOffers(Integer maxConcurrentOffe
     }
 
     /**
-     * Get the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't
-     * match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if
-     * you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
+     * Get the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
      *
      * @return the bypassSelectors value.
      */
@@ -115,9 +112,7 @@ public Boolean isBypassSelectors() {
     }
 
     /**
-     * Set the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't
-     * match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if
-     * you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
+     * Set the bypassSelectors property: If set to true, then router will match workers to jobs even if they don't match label selectors. Warning: You may get workers that are not qualified for a job they are matched with if you set this variable to true. This flag is intended more for temporary usage. By default, set to false.
      *
      * @param bypassSelectors the bypassSelectors value to set.
      * @return the DistributionModeInternal object itself.
@@ -127,4 +122,34 @@ public DistributionModeInternal setBypassSelectors(Boolean bypassSelectors) {
         this.bypassSelectors = bypassSelectors;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of DistributionMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private DistributionModeKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of DistributionMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public DistributionModeKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of DistributionMode.
+     *
+     * @param kind the kind value to set.
+     * @return the DistributionModeInternal object itself.
+     */
+    @Generated
+    protected DistributionModeInternal setKind(DistributionModeKind kind) {
+        this.kind = kind;
+        return this;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionPolicyInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionPolicyInternal.java
index 4a8834fd85ca..a64dc79fb6ca 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionPolicyInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/DistributionPolicyInternal.java
@@ -98,8 +98,7 @@ public DistributionPolicyInternal setName(String name) {
     }
 
     /**
-     * Get the offerExpiresAfterSeconds property: Number of seconds after which any offers created under this policy
-     * will be expired.
+     * Get the offerExpiresAfterSeconds property: Number of seconds after which any offers created under this policy will be expired.
      *
      * @return the offerExpiresAfterSeconds value.
      */
@@ -109,8 +108,7 @@ public Double getOfferExpiresAfterSeconds() {
     }
 
     /**
-     * Set the offerExpiresAfterSeconds property: Number of seconds after which any offers created under this policy
-     * will be expired.
+     * Set the offerExpiresAfterSeconds property: Number of seconds after which any offers created under this policy will be expired.
      *
      * @param offerExpiresAfterSeconds the offerExpiresAfterSeconds value to set.
      * @return the DistributionPolicyInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java
index d98350ca93de..82d259ef5f99 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionInternal.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -15,9 +16,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = ExceptionActionInternal.class)
+    defaultImpl = ExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("ExceptionActionInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "cancel", value = CancelExceptionActionInternal.class),
@@ -38,6 +39,7 @@ public class ExceptionActionInternal {
      */
     @Generated
     public ExceptionActionInternal() {
+        this.kind = ExceptionActionKind.fromString("ExceptionActionInternal");
     }
 
     /**
@@ -61,4 +63,34 @@ public ExceptionActionInternal setId(String id) {
         this.id = id;
         return this;
     }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionAction.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionActionKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionAction.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public ExceptionActionKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of ExceptionAction.
+     *
+     * @param kind the kind value to set.
+     * @return the ExceptionActionInternal object itself.
+     */
+    @Generated
+    protected ExceptionActionInternal setKind(ExceptionActionKind kind) {
+        this.kind = kind;
+        return this;
+    }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java
new file mode 100644
index 000000000000..47a13f16c0b2
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionActionKind.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.implementation.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported exception action types.
+ */
+public final class ExceptionActionKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for CancelExceptionAction.
+     */
+    @Generated
+    public static final ExceptionActionKind CANCEL = fromString("cancel");
+
+    /**
+     * Discriminator value for ManualReclassifyExceptionAction.
+     */
+    @Generated
+    public static final ExceptionActionKind MANUAL_RECLASSIFY = fromString("manualReclassify");
+
+    /**
+     * Discriminator value for ReclassifyExceptionAction.
+     */
+    @Generated
+    public static final ExceptionActionKind RECLASSIFY = fromString("reclassify");
+
+    /**
+     * Creates a new instance of ExceptionActionKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public ExceptionActionKind() {
+    }
+
+    /**
+     * Creates or finds a ExceptionActionKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding ExceptionActionKind.
+     */
+    @Generated
+    @JsonCreator
+    public static ExceptionActionKind fromString(String name) {
+        return fromString(name, ExceptionActionKind.class);
+    }
+
+    /**
+     * Gets known ExceptionActionKind values.
+     *
+     * @return known ExceptionActionKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(ExceptionActionKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java
index ba0655832367..35237c9c1bc0 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionRuleInternal.java
@@ -20,21 +20,21 @@ public final class ExceptionRuleInternal {
      */
     @Generated
     @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The trigger for this exception rule.
      */
     @Generated
     @JsonProperty(value = "trigger")
-    private ExceptionTriggerInternal trigger;
+    private final ExceptionTriggerInternal trigger;
 
     /*
      * A collection of actions to perform once the exception is triggered.
      */
     @Generated
     @JsonProperty(value = "actions")
-    private List actions;
+    private final List actions;
 
     /**
      * Creates an instance of ExceptionRuleInternal class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java
index d214de70303e..e8e2ed350c1f 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerInternal.java
@@ -5,7 +5,9 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +16,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = ExceptionTriggerInternal.class)
+    defaultImpl = ExceptionTriggerInternal.class,
+    visible = true)
 @JsonTypeName("ExceptionTriggerInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "queueLength", value = QueueLengthExceptionTriggerInternal.class),
@@ -29,5 +31,36 @@ public class ExceptionTriggerInternal {
      */
     @Generated
     public ExceptionTriggerInternal() {
+        this.kind = ExceptionTriggerKind.fromString("ExceptionTriggerInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of ExceptionTrigger.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private ExceptionTriggerKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of ExceptionTrigger.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public ExceptionTriggerKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of ExceptionTrigger.
+     *
+     * @param kind the kind value to set.
+     * @return the ExceptionTriggerInternal object itself.
+     */
+    @Generated
+    protected ExceptionTriggerInternal setKind(ExceptionTriggerKind kind) {
+        this.kind = kind;
+        return this;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java
new file mode 100644
index 000000000000..3950bcd96c14
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExceptionTriggerKind.java
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.implementation.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported exception trigger types.
+ */
+public final class ExceptionTriggerKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for QueueLengthExceptionTrigger.
+     */
+    @Generated
+    public static final ExceptionTriggerKind QUEUE_LENGTH = fromString("queueLength");
+
+    /**
+     * Discriminator value for WaitTimeExceptionTrigger.
+     */
+    @Generated
+    public static final ExceptionTriggerKind WAIT_TIME = fromString("waitTime");
+
+    /**
+     * Creates a new instance of ExceptionTriggerKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public ExceptionTriggerKind() {
+    }
+
+    /**
+     * Creates or finds a ExceptionTriggerKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding ExceptionTriggerKind.
+     */
+    @Generated
+    @JsonCreator
+    public static ExceptionTriggerKind fromString(String name) {
+        return fromString(name, ExceptionTriggerKind.class);
+    }
+
+    /**
+     * Gets known ExceptionTriggerKind values.
+     *
+     * @return known ExceptionTriggerKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(ExceptionTriggerKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java
index bdf81ae4a914..137849a037b9 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ExpressionRouterRuleInternal.java
@@ -4,6 +4,7 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.ExpressionRouterRuleLanguage;
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * A rule providing inline expression rules.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ExpressionRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("expression")
 @Fluent
 public final class ExpressionRouterRuleInternal extends RouterRuleInternal {
@@ -31,7 +36,7 @@ public final class ExpressionRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     @JsonProperty(value = "expression")
-    private String expression;
+    private final String expression;
 
     /**
      * Creates an instance of ExpressionRouterRuleInternal class.
@@ -41,6 +46,7 @@ public final class ExpressionRouterRuleInternal extends RouterRuleInternal {
     @Generated
     @JsonCreator
     public ExpressionRouterRuleInternal(@JsonProperty(value = "expression") String expression) {
+        setKind(RouterRuleKind.EXPRESSION);
         this.expression = expression;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java
index 6d0908fdf80d..83b8c68f8d17 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/FunctionRouterRuleInternal.java
@@ -4,6 +4,7 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.FunctionRouterRuleCredential;
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * A rule providing a binding to an HTTP Triggered Azure Function.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = FunctionRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("function")
 @Fluent
 public final class FunctionRouterRuleInternal extends RouterRuleInternal {
@@ -24,7 +29,7 @@ public final class FunctionRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     @JsonProperty(value = "functionUri")
-    private String functionUri;
+    private final String functionUri;
 
     /*
      * Credentials used to access Azure function rule.
@@ -41,6 +46,7 @@ public final class FunctionRouterRuleInternal extends RouterRuleInternal {
     @Generated
     @JsonCreator
     public FunctionRouterRuleInternal(@JsonProperty(value = "functionUri") String functionUri) {
+        setKind(RouterRuleKind.FUNCTION);
         this.functionUri = functionUri;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java
index 6de389a113f3..0b7683648a1f 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/JobMatchingModeInternal.java
@@ -3,24 +3,26 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A matching mode of one of the following types:
  * QueueAndMatchMode: Used when matching worker to a job is required to be done right after job is queued.
- * ScheduleAndSuspendMode: Used for scheduling jobs to be queued at a future time. At specified time, matching of a
- * worker to the job will not start automatically.
+ * ScheduleAndSuspendMode: Used for scheduling jobs to be queued at a future time. At specified time, matching of a worker to the job will not start automatically.
  * SuspendMode: Used when matching workers to a job needs to be suspended.
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = JobMatchingModeInternal.class)
+    defaultImpl = JobMatchingModeInternal.class,
+    visible = true)
 @JsonTypeName("JobMatchingModeInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "scheduleAndSuspend", value = ScheduleAndSuspendModeInternal.class),
@@ -34,5 +36,36 @@ public class JobMatchingModeInternal {
      */
     @Generated
     public JobMatchingModeInternal() {
+        this.kind = JobMatchingModeKind.fromString("JobMatchingModeInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of JobMatchingMode.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private JobMatchingModeKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of JobMatchingMode.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public JobMatchingModeKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of JobMatchingMode.
+     *
+     * @param kind the kind value to set.
+     * @return the JobMatchingModeInternal object itself.
+     */
+    @Generated
+    protected JobMatchingModeInternal setKind(JobMatchingModeKind kind) {
+        this.kind = kind;
+        return this;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java
index 08175542f1fa..706e409f3e83 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/LongestIdleModeInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -11,7 +12,11 @@
 /**
  * Jobs are directed to the worker who has been idle longest.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LongestIdleModeInternal.class,
+    visible = true)
 @JsonTypeName("longestIdle")
 @Fluent
 public final class LongestIdleModeInternal extends DistributionModeInternal {
@@ -21,6 +26,7 @@ public final class LongestIdleModeInternal extends DistributionModeInternal {
      */
     @Generated
     public LongestIdleModeInternal() {
+        setKind(DistributionModeKind.LONGEST_IDLE);
     }
 
     /**
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java
index f19b7740d7b7..9bb56ca106eb 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ManualReclassifyExceptionActionInternal.java
@@ -13,7 +13,11 @@
 /**
  * An action that manually reclassifies a job by providing the queue, priority and worker selectors.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ManualReclassifyExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("manualReclassify")
 @Fluent
 public final class ManualReclassifyExceptionActionInternal extends ExceptionActionInternal {
@@ -44,6 +48,7 @@ public final class ManualReclassifyExceptionActionInternal extends ExceptionActi
      */
     @Generated
     public ManualReclassifyExceptionActionInternal() {
+        setKind(ExceptionActionKind.MANUAL_RECLASSIFY);
     }
 
     /**
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java
index 27cea4455e99..e03db73c27ea 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughQueueSelectorAttachmentInternal.java
@@ -4,6 +4,7 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.LabelOperator;
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * Attaches a queue selector where the value is passed through from a job's label with the same key.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = PassThroughQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("passThrough")
 @Immutable
 public final class PassThroughQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -24,14 +29,14 @@ public final class PassThroughQueueSelectorAttachmentInternal extends QueueSelec
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value pass through.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /**
      * Creates an instance of PassThroughQueueSelectorAttachmentInternal class.
@@ -43,6 +48,7 @@ public final class PassThroughQueueSelectorAttachmentInternal extends QueueSelec
     @JsonCreator
     public PassThroughQueueSelectorAttachmentInternal(@JsonProperty(value = "key") String key,
         @JsonProperty(value = "labelOperator") LabelOperator labelOperator) {
+        setKind(QueueSelectorAttachmentKind.PASS_THROUGH);
         this.key = key;
         this.labelOperator = labelOperator;
     }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java
index 28070824d00d..ac3e4b996b54 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/PassThroughWorkerSelectorAttachmentInternal.java
@@ -4,6 +4,7 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.LabelOperator;
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * Attaches a worker selector where the value is passed through from a job's label with the same key.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = PassThroughWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("passThrough")
 @Fluent
 public final class PassThroughWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -24,14 +29,14 @@ public final class PassThroughWorkerSelectorAttachmentInternal extends WorkerSel
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value pass through.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /*
      * Describes how long the attached label selector is valid in seconds.
@@ -50,6 +55,7 @@ public final class PassThroughWorkerSelectorAttachmentInternal extends WorkerSel
     @JsonCreator
     public PassThroughWorkerSelectorAttachmentInternal(@JsonProperty(value = "key") String key,
         @JsonProperty(value = "labelOperator") LabelOperator labelOperator) {
+        setKind(WorkerSelectorAttachmentKind.PASS_THROUGH);
         this.key = key;
         this.labelOperator = labelOperator;
     }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java
index 8f71ae9e1cde..b26d5b7cf852 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueAndMatchModeInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -11,7 +12,11 @@
 /**
  * Describes a matching mode where matching worker to a job is automatically started after job is queued successfully.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = QueueAndMatchModeInternal.class,
+    visible = true)
 @JsonTypeName("queueAndMatch")
 @Immutable
 public final class QueueAndMatchModeInternal extends JobMatchingModeInternal {
@@ -21,5 +26,6 @@ public final class QueueAndMatchModeInternal extends JobMatchingModeInternal {
      */
     @Generated
     public QueueAndMatchModeInternal() {
+        setKind(JobMatchingModeKind.QUEUE_AND_MATCH);
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java
index 9493da70910e..b6e1c2d86f44 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueLengthExceptionTriggerInternal.java
@@ -13,7 +13,11 @@
 /**
  * Trigger for an exception action on exceeding queue length.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = QueueLengthExceptionTriggerInternal.class,
+    visible = true)
 @JsonTypeName("queueLength")
 @Immutable
 public final class QueueLengthExceptionTriggerInternal extends ExceptionTriggerInternal {
@@ -23,7 +27,7 @@ public final class QueueLengthExceptionTriggerInternal extends ExceptionTriggerI
      */
     @Generated
     @JsonProperty(value = "threshold")
-    private int threshold;
+    private final int threshold;
 
     /**
      * Creates an instance of QueueLengthExceptionTriggerInternal class.
@@ -33,6 +37,7 @@ public final class QueueLengthExceptionTriggerInternal extends ExceptionTriggerI
     @Generated
     @JsonCreator
     public QueueLengthExceptionTriggerInternal(@JsonProperty(value = "threshold") int threshold) {
+        setKind(ExceptionTriggerKind.QUEUE_LENGTH);
         this.threshold = threshold;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java
index 740b2c0773a4..6f8081c2d966 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueSelectorAttachmentInternal.java
@@ -3,9 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +17,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = QueueSelectorAttachmentInternal.class)
+    defaultImpl = QueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("QueueSelectorAttachmentInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "conditional", value = ConditionalQueueSelectorAttachmentInternal.class),
@@ -32,5 +35,36 @@ public class QueueSelectorAttachmentInternal {
      */
     @Generated
     public QueueSelectorAttachmentInternal() {
+        this.kind = QueueSelectorAttachmentKind.fromString("QueueSelectorAttachmentInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of QueueSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private QueueSelectorAttachmentKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public QueueSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of QueueSelectorAttachment.
+     *
+     * @param kind the kind value to set.
+     * @return the QueueSelectorAttachmentInternal object itself.
+     */
+    @Generated
+    protected QueueSelectorAttachmentInternal setKind(QueueSelectorAttachmentKind kind) {
+        this.kind = kind;
+        return this;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java
index 66c5aa43fd45..47d9277c6505 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/QueueWeightedAllocationInternal.java
@@ -20,14 +20,14 @@ public final class QueueWeightedAllocationInternal {
      */
     @Generated
     @JsonProperty(value = "weight")
-    private double weight;
+    private final double weight;
 
     /*
      * A collection of queue selectors that will be applied if this allocation is selected.
      */
     @Generated
     @JsonProperty(value = "queueSelectors")
-    private List queueSelectors;
+    private final List queueSelectors;
 
     /**
      * Creates an instance of QueueWeightedAllocationInternal class.
@@ -54,8 +54,7 @@ public double getWeight() {
     }
 
     /**
-     * Get the queueSelectors property: A collection of queue selectors that will be applied if this allocation is
-     * selected.
+     * Get the queueSelectors property: A collection of queue selectors that will be applied if this allocation is selected.
      *
      * @return the queueSelectors value.
      */
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java
index d4e9ea103903..1b7dcf652dae 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ReclassifyExceptionActionInternal.java
@@ -13,7 +13,11 @@
 /**
  * An action that modifies labels on a job and then reclassifies it.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ReclassifyExceptionActionInternal.class,
+    visible = true)
 @JsonTypeName("reclassify")
 @Fluent
 public final class ReclassifyExceptionActionInternal extends ExceptionActionInternal {
@@ -26,8 +30,7 @@ public final class ReclassifyExceptionActionInternal extends ExceptionActionInte
     private String classificationPolicyId;
 
     /*
-     * Dictionary containing the labels to update (or add if not existing) in key-value pairs. Values must be
-     * primitive values - number, string, boolean.
+     * Dictionary containing the labels to update (or add if not existing) in key-value pairs.  Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labelsToUpsert")
@@ -38,11 +41,11 @@ public final class ReclassifyExceptionActionInternal extends ExceptionActionInte
      */
     @Generated
     public ReclassifyExceptionActionInternal() {
+        setKind(ExceptionActionKind.RECLASSIFY);
     }
 
     /**
-     * Get the classificationPolicyId property: The new classification policy that will determine queue, priority and
-     * worker selectors.
+     * Get the classificationPolicyId property: The new classification policy that will determine queue, priority and worker selectors.
      *
      * @return the classificationPolicyId value.
      */
@@ -52,8 +55,7 @@ public String getClassificationPolicyId() {
     }
 
     /**
-     * Set the classificationPolicyId property: The new classification policy that will determine queue, priority and
-     * worker selectors.
+     * Set the classificationPolicyId property: The new classification policy that will determine queue, priority and worker selectors.
      *
      * @param classificationPolicyId the classificationPolicyId value to set.
      * @return the ReclassifyExceptionActionInternal object itself.
@@ -65,8 +67,7 @@ public ReclassifyExceptionActionInternal setClassificationPolicyId(String classi
     }
 
     /**
-     * Get the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in
-     * key-value pairs. Values must be primitive values - number, string, boolean.
+     * Get the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in key-value pairs.  Values must be primitive values - number, string, boolean.
      *
      * @return the labelsToUpsert value.
      */
@@ -76,8 +77,7 @@ public Map getLabelsToUpsert() {
     }
 
     /**
-     * Set the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in
-     * key-value pairs. Values must be primitive values - number, string, boolean.
+     * Set the labelsToUpsert property: Dictionary containing the labels to update (or add if not existing) in key-value pairs.  Values must be primitive values - number, string, boolean.
      *
      * @param labelsToUpsert the labelsToUpsert value to set.
      * @return the ReclassifyExceptionActionInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java
index 8f7ce8e1b9cc..8676206cbe05 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RoundRobinModeInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.DistributionModeKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -11,7 +12,7 @@
 /**
  * Jobs are distributed in order to workers, starting with the worker that is after the last worker to receive a job.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = RoundRobinModeInternal.class, visible = true)
 @JsonTypeName("roundRobin")
 @Fluent
 public final class RoundRobinModeInternal extends DistributionModeInternal {
@@ -21,6 +22,7 @@ public final class RoundRobinModeInternal extends DistributionModeInternal {
      */
     @Generated
     public RoundRobinModeInternal() {
+        setKind(DistributionModeKind.ROUND_ROBIN);
     }
 
     /**
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java
index ba6fbadf6d93..35246cff7e47 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterJobInternal.java
@@ -76,7 +76,7 @@ public final class RouterJobInternal {
     private String queueId;
 
     /*
-     * Priority of this job.
+     * Priority of this job. Value must be between -100 to 100.
      */
     @Generated
     @JsonProperty(value = "priority")
@@ -97,16 +97,14 @@ public final class RouterJobInternal {
     private List requestedWorkerSelectors;
 
     /*
-     * A collection of worker selectors attached by a classification policy, which a worker must satisfy in order to
-     * process this job.
+     * A collection of worker selectors attached by a classification policy, which a worker must satisfy in order to process this job.
      */
     @Generated
     @JsonProperty(value = "attachedWorkerSelectors", access = JsonProperty.Access.WRITE_ONLY)
     private List attachedWorkerSelectors;
 
     /*
-     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values
-     * must be primitive values - number, string, boolean.
+     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labels")
@@ -120,8 +118,7 @@ public final class RouterJobInternal {
     private Map assignments;
 
     /*
-     * A set of non-identifying attributes attached to this job. Values must be primitive values - number, string,
-     * boolean.
+     * A set of non-identifying attributes attached to this job. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "tags")
@@ -284,7 +281,7 @@ public RouterJobInternal setQueueId(String queueId) {
     }
 
     /**
-     * Get the priority property: Priority of this job.
+     * Get the priority property: Priority of this job. Value must be between -100 to 100.
      *
      * @return the priority value.
      */
@@ -294,7 +291,7 @@ public Integer getPriority() {
     }
 
     /**
-     * Set the priority property: Priority of this job.
+     * Set the priority property: Priority of this job. Value must be between -100 to 100.
      *
      * @param priority the priority value to set.
      * @return the RouterJobInternal object itself.
@@ -328,8 +325,7 @@ public RouterJobInternal setDispositionCode(String dispositionCode) {
     }
 
     /**
-     * Get the requestedWorkerSelectors property: A collection of manually specified worker selectors, which a worker
-     * must satisfy in order to process this job.
+     * Get the requestedWorkerSelectors property: A collection of manually specified worker selectors, which a worker must satisfy in order to process this job.
      *
      * @return the requestedWorkerSelectors value.
      */
@@ -339,8 +335,7 @@ public List getRequestedWorkerSelectors() {
     }
 
     /**
-     * Set the requestedWorkerSelectors property: A collection of manually specified worker selectors, which a worker
-     * must satisfy in order to process this job.
+     * Set the requestedWorkerSelectors property: A collection of manually specified worker selectors, which a worker must satisfy in order to process this job.
      *
      * @param requestedWorkerSelectors the requestedWorkerSelectors value to set.
      * @return the RouterJobInternal object itself.
@@ -352,8 +347,7 @@ public RouterJobInternal setRequestedWorkerSelectors(List getAttachedWorkerSelectors() {
     }
 
     /**
-     * Get the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to
-     * make decisions. Values must be primitive values - number, string, boolean.
+     * Get the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      *
      * @return the labels value.
      */
@@ -374,8 +367,7 @@ public Map getLabels() {
     }
 
     /**
-     * Set the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to
-     * make decisions. Values must be primitive values - number, string, boolean.
+     * Set the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      *
      * @param labels the labels value to set.
      * @return the RouterJobInternal object itself.
@@ -397,8 +389,7 @@ public Map getAssignments() {
     }
 
     /**
-     * Get the tags property: A set of non-identifying attributes attached to this job. Values must be primitive values
-     * - number, string, boolean.
+     * Get the tags property: A set of non-identifying attributes attached to this job. Values must be primitive values - number, string, boolean.
      *
      * @return the tags value.
      */
@@ -408,8 +399,7 @@ public Map getTags() {
     }
 
     /**
-     * Set the tags property: A set of non-identifying attributes attached to this job. Values must be primitive values
-     * - number, string, boolean.
+     * Set the tags property: A set of non-identifying attributes attached to this job. Values must be primitive values - number, string, boolean.
      *
      * @param tags the tags value to set.
      * @return the RouterJobInternal object itself.
@@ -453,8 +443,7 @@ public OffsetDateTime getScheduledAt() {
     }
 
     /**
-     * Get the matchingMode property: If provided, will determine how job matching will be carried out. Default mode:
-     * QueueAndMatchMode.
+     * Get the matchingMode property: If provided, will determine how job matching will be carried out. Default mode: QueueAndMatchMode.
      *
      * @return the matchingMode value.
      */
@@ -464,8 +453,7 @@ public JobMatchingModeInternal getMatchingMode() {
     }
 
     /**
-     * Set the matchingMode property: If provided, will determine how job matching will be carried out. Default mode:
-     * QueueAndMatchMode.
+     * Set the matchingMode property: If provided, will determine how job matching will be carried out. Default mode: QueueAndMatchMode.
      *
      * @param matchingMode the matchingMode value to set.
      * @return the RouterJobInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java
index 285a63243a05..f0b91545c2b7 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueInternal.java
@@ -43,8 +43,7 @@ public final class RouterQueueInternal {
     private String distributionPolicyId;
 
     /*
-     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values
-     * must be primitive values - number, string, boolean.
+     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labels")
@@ -123,8 +122,7 @@ public RouterQueueInternal setName(String name) {
     }
 
     /**
-     * Get the distributionPolicyId property: Id of a distribution policy that will determine how a job is distributed
-     * to workers.
+     * Get the distributionPolicyId property: Id of a distribution policy that will determine how a job is distributed to workers.
      *
      * @return the distributionPolicyId value.
      */
@@ -134,8 +132,7 @@ public String getDistributionPolicyId() {
     }
 
     /**
-     * Set the distributionPolicyId property: Id of a distribution policy that will determine how a job is distributed
-     * to workers.
+     * Set the distributionPolicyId property: Id of a distribution policy that will determine how a job is distributed to workers.
      *
      * @param distributionPolicyId the distributionPolicyId value to set.
      * @return the RouterQueueInternal object itself.
@@ -147,8 +144,7 @@ public RouterQueueInternal setDistributionPolicyId(String distributionPolicyId)
     }
 
     /**
-     * Get the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to
-     * make decisions. Values must be primitive values - number, string, boolean.
+     * Get the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      *
      * @return the labels value.
      */
@@ -158,8 +154,7 @@ public Map getLabels() {
     }
 
     /**
-     * Set the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to
-     * make decisions. Values must be primitive values - number, string, boolean.
+     * Set the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      *
      * @param labels the labels value to set.
      * @return the RouterQueueInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java
index 316fd330b259..099cb40a0087 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueSelectorInternal.java
@@ -20,18 +20,17 @@ public final class RouterQueueSelectorInternal {
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value defined on the label selector.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /*
-     * The value to compare against the actual label value with the given operator. Values must be primitive values -
-     * number, string, boolean.
+     * The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "value")
@@ -62,8 +61,7 @@ public String getKey() {
     }
 
     /**
-     * Get the labelOperator property: Describes how the value of the label is compared to the value defined on the
-     * label selector.
+     * Get the labelOperator property: Describes how the value of the label is compared to the value defined on the label selector.
      *
      * @return the labelOperator value.
      */
@@ -73,8 +71,7 @@ public LabelOperator getLabelOperator() {
     }
 
     /**
-     * Get the value property: The value to compare against the actual label value with the given operator. Values must
-     * be primitive values - number, string, boolean.
+     * Get the value property: The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      *
      * @return the value value.
      */
@@ -84,8 +81,7 @@ public Object getValue() {
     }
 
     /**
-     * Set the value property: The value to compare against the actual label value with the given operator. Values must
-     * be primitive values - number, string, boolean.
+     * Set the value property: The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      *
      * @param value the value value to set.
      * @return the RouterQueueSelectorInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java
index e123d397a918..b49ac8bd405a 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterQueueStatisticsInternal.java
@@ -20,14 +20,14 @@ public final class RouterQueueStatisticsInternal {
      */
     @Generated
     @JsonProperty(value = "queueId")
-    private String queueId;
+    private final String queueId;
 
     /*
      * Length of the queue: total number of enqueued jobs.
      */
     @Generated
     @JsonProperty(value = "length")
-    private int length;
+    private final int length;
 
     /*
      * The estimated wait time of this queue rounded up to the nearest minute, grouped by job priority.
@@ -78,8 +78,7 @@ public int getLength() {
     }
 
     /**
-     * Get the estimatedWaitTimeMinutes property: The estimated wait time of this queue rounded up to the nearest
-     * minute, grouped by job priority.
+     * Get the estimatedWaitTimeMinutes property: The estimated wait time of this queue rounded up to the nearest minute, grouped by job priority.
      *
      * @return the estimatedWaitTimeMinutes value.
      */
@@ -89,8 +88,7 @@ public Map getEstimatedWaitTimeMinutes() {
     }
 
     /**
-     * Get the longestJobWaitTimeMinutes property: The wait time of the job that has been enqueued in this queue for
-     * the longest.
+     * Get the longestJobWaitTimeMinutes property: The wait time of the job that has been enqueued in this queue for the longest.
      *
      * @return the longestJobWaitTimeMinutes value.
      */
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java
index 063a26041e4a..7c389c26d625 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterRuleInternal.java
@@ -3,25 +3,24 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * A rule of one of the following types:
- * StaticRule: A rule providing static rules that always return the same result, regardless of input.
- * DirectMapRule: A rule that return the same labels as the input labels.
+ * StaticRule:  A rule providing static rules that always return the same result, regardless of input.
+ * DirectMapRule:  A rule that return the same labels as the input labels.
  * ExpressionRule: A rule providing inline expression rules.
  * FunctionRule: A rule providing a binding to an HTTP Triggered Azure Function.
  * WebhookRule: A rule providing a binding to a webserver following OAuth2.0 authentication protocol.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = RouterRuleInternal.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = RouterRuleInternal.class, visible = true)
 @JsonTypeName("RouterRuleInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "directMap", value = DirectMapRouterRuleInternal.class),
@@ -37,5 +36,36 @@ public class RouterRuleInternal {
      */
     @Generated
     public RouterRuleInternal() {
+        this.kind = RouterRuleKind.fromString("RouterRuleInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of RouterRule
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RouterRuleKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public RouterRuleKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of RouterRule.
+     *
+     * @param kind the kind value to set.
+     * @return the RouterRuleInternal object itself.
+     */
+    @Generated
+    protected RouterRuleInternal setKind(RouterRuleKind kind) {
+        this.kind = kind;
+        return this;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java
index b76f1a651f1a..413d2766c967 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerInternal.java
@@ -55,16 +55,14 @@ public final class RouterWorkerInternal {
     private Integer capacity;
 
     /*
-     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values
-     * must be primitive values - number, string, boolean.
+     * A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "labels")
     private Map labels;
 
     /*
-     * A set of non-identifying attributes attached to this worker. Values must be primitive values - number, string,
-     * boolean.
+     * A set of non-identifying attributes attached to this worker. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "tags")
@@ -92,8 +90,7 @@ public final class RouterWorkerInternal {
     private List assignedJobs;
 
     /*
-     * A value indicating the workers capacity. A value of '1' means all capacity is consumed. A value of '0' means no
-     * capacity is currently consumed.
+     * A value indicating the workers capacity. A value of '1' means all capacity is consumed. A value of '0' means no capacity is currently consumed.
      */
     @Generated
     @JsonProperty(value = "loadRatio", access = JsonProperty.Access.WRITE_ONLY)
@@ -188,8 +185,7 @@ public RouterWorkerInternal setCapacity(Integer capacity) {
     }
 
     /**
-     * Get the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to
-     * make decisions. Values must be primitive values - number, string, boolean.
+     * Get the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      *
      * @return the labels value.
      */
@@ -199,8 +195,7 @@ public Map getLabels() {
     }
 
     /**
-     * Set the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to
-     * make decisions. Values must be primitive values - number, string, boolean.
+     * Set the labels property: A set of key/value pairs that are identifying attributes used by the rules engines to make decisions. Values must be primitive values - number, string, boolean.
      *
      * @param labels the labels value to set.
      * @return the RouterWorkerInternal object itself.
@@ -212,8 +207,7 @@ public RouterWorkerInternal setLabels(Map labels) {
     }
 
     /**
-     * Get the tags property: A set of non-identifying attributes attached to this worker. Values must be primitive
-     * values - number, string, boolean.
+     * Get the tags property: A set of non-identifying attributes attached to this worker. Values must be primitive values - number, string, boolean.
      *
      * @return the tags value.
      */
@@ -223,8 +217,7 @@ public Map getTags() {
     }
 
     /**
-     * Set the tags property: A set of non-identifying attributes attached to this worker. Values must be primitive
-     * values - number, string, boolean.
+     * Set the tags property: A set of non-identifying attributes attached to this worker. Values must be primitive values - number, string, boolean.
      *
      * @param tags the tags value to set.
      * @return the RouterWorkerInternal object itself.
@@ -236,8 +229,7 @@ public RouterWorkerInternal setTags(Map tags) {
     }
 
     /**
-     * Get the channels property: Collection of channel(s) this worker can handle and their impact on the workers
-     * capacity.
+     * Get the channels property: Collection of channel(s) this worker can handle and their impact on the workers capacity.
      *
      * @return the channels value.
      */
@@ -247,8 +239,7 @@ public List getChannels() {
     }
 
     /**
-     * Set the channels property: Collection of channel(s) this worker can handle and their impact on the workers
-     * capacity.
+     * Set the channels property: Collection of channel(s) this worker can handle and their impact on the workers capacity.
      *
      * @param channels the channels value to set.
      * @return the RouterWorkerInternal object itself.
@@ -280,8 +271,7 @@ public List getAssignedJobs() {
     }
 
     /**
-     * Get the loadRatio property: A value indicating the workers capacity. A value of '1' means all capacity is
-     * consumed. A value of '0' means no capacity is currently consumed.
+     * Get the loadRatio property: A value indicating the workers capacity. A value of '1' means all capacity is consumed. A value of '0' means no capacity is currently consumed.
      *
      * @return the loadRatio value.
      */
@@ -320,8 +310,7 @@ public RouterWorkerInternal setAvailableForOffers(Boolean availableForOffers) {
     private Integer maxConcurrentOffers;
 
     /**
-     * Get the maxConcurrentOffers property: If this is set, the worker will only receive up to this many new offers at
-     * a time.
+     * Get the maxConcurrentOffers property: If this is set, the worker will only receive up to this many new offers at a time.
      *
      * @return the maxConcurrentOffers value.
      */
@@ -331,8 +320,7 @@ public Integer getMaxConcurrentOffers() {
     }
 
     /**
-     * Set the maxConcurrentOffers property: If this is set, the worker will only receive up to this many new offers at
-     * a time.
+     * Set the maxConcurrentOffers property: If this is set, the worker will only receive up to this many new offers at a time.
      *
      * @param maxConcurrentOffers the maxConcurrentOffers value to set.
      * @return the RouterWorkerInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java
index 0a6474065d6e..3de2015c49d0 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RouterWorkerSelectorInternal.java
@@ -22,18 +22,17 @@ public final class RouterWorkerSelectorInternal {
      */
     @Generated
     @JsonProperty(value = "key")
-    private String key;
+    private final String key;
 
     /*
      * Describes how the value of the label is compared to the value defined on the worker selector.
      */
     @Generated
     @JsonProperty(value = "labelOperator")
-    private LabelOperator labelOperator;
+    private final LabelOperator labelOperator;
 
     /*
-     * The value to compare against the actual label value with the given operator. Values must be primitive values -
-     * number, string, boolean.
+     * The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      */
     @Generated
     @JsonProperty(value = "value")
@@ -92,8 +91,7 @@ public String getKey() {
     }
 
     /**
-     * Get the labelOperator property: Describes how the value of the label is compared to the value defined on the
-     * worker selector.
+     * Get the labelOperator property: Describes how the value of the label is compared to the value defined on the worker selector.
      *
      * @return the labelOperator value.
      */
@@ -103,8 +101,7 @@ public LabelOperator getLabelOperator() {
     }
 
     /**
-     * Get the value property: The value to compare against the actual label value with the given operator. Values must
-     * be primitive values - number, string, boolean.
+     * Get the value property: The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      *
      * @return the value value.
      */
@@ -114,8 +111,7 @@ public Object getValue() {
     }
 
     /**
-     * Set the value property: The value to compare against the actual label value with the given operator. Values must
-     * be primitive values - number, string, boolean.
+     * Set the value property: The value to compare against the actual label value with the given operator. Values must be primitive values - number, string, boolean.
      *
      * @param value the value value to set.
      * @return the RouterWorkerSelectorInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java
index 2b307b4e9e49..398631b52b3e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineQueueSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -13,7 +14,11 @@
 /**
  * Attaches queue selectors to a job when the RouterRule is resolved.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = RuleEngineQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("ruleEngine")
 @Immutable
 public final class RuleEngineQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -23,7 +28,7 @@ public final class RuleEngineQueueSelectorAttachmentInternal extends QueueSelect
      */
     @Generated
     @JsonProperty(value = "rule")
-    private RouterRuleInternal rule;
+    private final RouterRuleInternal rule;
 
     /**
      * Creates an instance of RuleEngineQueueSelectorAttachmentInternal class.
@@ -33,6 +38,7 @@ public final class RuleEngineQueueSelectorAttachmentInternal extends QueueSelect
     @Generated
     @JsonCreator
     public RuleEngineQueueSelectorAttachmentInternal(@JsonProperty(value = "rule") RouterRuleInternal rule) {
+        setKind(QueueSelectorAttachmentKind.RULE_ENGINE);
         this.rule = rule;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java
index 562633495c8e..9e3af55b9097 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/RuleEngineWorkerSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -13,7 +14,11 @@
 /**
  * Attaches worker selectors to a job when a RouterRule is resolved.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = RuleEngineWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("ruleEngine")
 @Immutable
 public final class RuleEngineWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -23,7 +28,7 @@ public final class RuleEngineWorkerSelectorAttachmentInternal extends WorkerSele
      */
     @Generated
     @JsonProperty(value = "rule")
-    private RouterRuleInternal rule;
+    private final RouterRuleInternal rule;
 
     /**
      * Creates an instance of RuleEngineWorkerSelectorAttachmentInternal class.
@@ -33,6 +38,7 @@ public final class RuleEngineWorkerSelectorAttachmentInternal extends WorkerSele
     @Generated
     @JsonCreator
     public RuleEngineWorkerSelectorAttachmentInternal(@JsonProperty(value = "rule") RouterRuleInternal rule) {
+        setKind(WorkerSelectorAttachmentKind.RULE_ENGINE);
         this.rule = rule;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java
index e85631ffb446..736a2b957882 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/ScheduleAndSuspendModeInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -12,10 +13,13 @@
 import java.time.OffsetDateTime;
 
 /**
- * Describes a matching mode used for scheduling jobs to be queued at a future time. At the specified time, matching
- * worker to a job will not start automatically.
+ * Describes a matching mode used for scheduling jobs to be queued at a future time. At the specified time, matching worker to a job will not start automatically.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ScheduleAndSuspendModeInternal.class,
+    visible = true)
 @JsonTypeName("scheduleAndSuspend")
 @Immutable
 public final class ScheduleAndSuspendModeInternal extends JobMatchingModeInternal {
@@ -25,7 +29,7 @@ public final class ScheduleAndSuspendModeInternal extends JobMatchingModeInterna
      */
     @Generated
     @JsonProperty(value = "scheduleAt")
-    private OffsetDateTime scheduleAt;
+    private final OffsetDateTime scheduleAt;
 
     /**
      * Creates an instance of ScheduleAndSuspendModeInternal class.
@@ -35,6 +39,7 @@ public final class ScheduleAndSuspendModeInternal extends JobMatchingModeInterna
     @Generated
     @JsonCreator
     public ScheduleAndSuspendModeInternal(@JsonProperty(value = "scheduleAt") OffsetDateTime scheduleAt) {
+        setKind(JobMatchingModeKind.SCHEDULE_AND_SUSPEND);
         this.scheduleAt = scheduleAt;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java
index 9f17328012f9..b5f6cf380161 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticQueueSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -13,7 +14,11 @@
 /**
  * Describes a queue selector that will be attached to a job.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = StaticQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("static")
 @Immutable
 public final class StaticQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -23,7 +28,7 @@ public final class StaticQueueSelectorAttachmentInternal extends QueueSelectorAt
      */
     @Generated
     @JsonProperty(value = "queueSelector")
-    private RouterQueueSelectorInternal queueSelector;
+    private final RouterQueueSelectorInternal queueSelector;
 
     /**
      * Creates an instance of StaticQueueSelectorAttachmentInternal class.
@@ -34,6 +39,7 @@ public final class StaticQueueSelectorAttachmentInternal extends QueueSelectorAt
     @JsonCreator
     public StaticQueueSelectorAttachmentInternal(
         @JsonProperty(value = "queueSelector") RouterQueueSelectorInternal queueSelector) {
+        setKind(QueueSelectorAttachmentKind.STATIC);
         this.queueSelector = queueSelector;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java
index 3114a507497c..6a43eb18fc2b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticRouterRuleInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -12,7 +13,11 @@
 /**
  * A rule providing static rules that always return the same result, regardless of input.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = StaticRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("static")
 @Fluent
 public final class StaticRouterRuleInternal extends RouterRuleInternal {
@@ -29,11 +34,11 @@ public final class StaticRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     public StaticRouterRuleInternal() {
+        setKind(RouterRuleKind.STATIC);
     }
 
     /**
-     * Get the value property: The static value this rule always returns. Values must be primitive values - number,
-     * string, boolean.
+     * Get the value property: The static value this rule always returns. Values must be primitive values - number, string, boolean.
      *
      * @return the value value.
      */
@@ -43,8 +48,7 @@ public Object getValue() {
     }
 
     /**
-     * Set the value property: The static value this rule always returns. Values must be primitive values - number,
-     * string, boolean.
+     * Set the value property: The static value this rule always returns. Values must be primitive values - number, string, boolean.
      *
      * @param value the value value to set.
      * @return the StaticRouterRuleInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java
index a1b61872f688..dc2fa6e851cd 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/StaticWorkerSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -13,7 +14,11 @@
 /**
  * Describes a worker selector that will be attached to a job.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = StaticWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("static")
 @Immutable
 public final class StaticWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -23,7 +28,7 @@ public final class StaticWorkerSelectorAttachmentInternal extends WorkerSelector
      */
     @Generated
     @JsonProperty(value = "workerSelector")
-    private RouterWorkerSelectorInternal workerSelector;
+    private final RouterWorkerSelectorInternal workerSelector;
 
     /**
      * Creates an instance of StaticWorkerSelectorAttachmentInternal class.
@@ -34,6 +39,7 @@ public final class StaticWorkerSelectorAttachmentInternal extends WorkerSelector
     @JsonCreator
     public StaticWorkerSelectorAttachmentInternal(
         @JsonProperty(value = "workerSelector") RouterWorkerSelectorInternal workerSelector) {
+        setKind(WorkerSelectorAttachmentKind.STATIC);
         this.workerSelector = workerSelector;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java
index a837b038e726..8da549f35e1a 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/SuspendModeInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.JobMatchingModeKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
@@ -11,7 +12,7 @@
 /**
  * Describes a matching mode where matching worker to a job is suspended.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = SuspendModeInternal.class, visible = true)
 @JsonTypeName("suspend")
 @Immutable
 public final class SuspendModeInternal extends JobMatchingModeInternal {
@@ -21,5 +22,6 @@ public final class SuspendModeInternal extends JobMatchingModeInternal {
      */
     @Generated
     public SuspendModeInternal() {
+        setKind(JobMatchingModeKind.SUSPEND);
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java
index 432f65e450a5..25551b31e54f 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WaitTimeExceptionTriggerInternal.java
@@ -13,7 +13,11 @@
 /**
  * Trigger for an exception action on exceeding wait time.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WaitTimeExceptionTriggerInternal.class,
+    visible = true)
 @JsonTypeName("waitTime")
 @Immutable
 public final class WaitTimeExceptionTriggerInternal extends ExceptionTriggerInternal {
@@ -23,7 +27,7 @@ public final class WaitTimeExceptionTriggerInternal extends ExceptionTriggerInte
      */
     @Generated
     @JsonProperty(value = "thresholdSeconds")
-    private double thresholdSeconds;
+    private final double thresholdSeconds;
 
     /**
      * Creates an instance of WaitTimeExceptionTriggerInternal class.
@@ -33,6 +37,7 @@ public final class WaitTimeExceptionTriggerInternal extends ExceptionTriggerInte
     @Generated
     @JsonCreator
     public WaitTimeExceptionTriggerInternal(@JsonProperty(value = "thresholdSeconds") double thresholdSeconds) {
+        setKind(ExceptionTriggerKind.WAIT_TIME);
         this.thresholdSeconds = thresholdSeconds;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java
index 12b4c113c2a8..bccb21cc177a 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WebhookRouterRuleInternal.java
@@ -4,6 +4,7 @@
 package com.azure.communication.jobrouter.implementation.models;
 
 import com.azure.communication.jobrouter.models.OAuth2WebhookClientCredential;
+import com.azure.communication.jobrouter.models.RouterRuleKind;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -13,7 +14,11 @@
 /**
  * A rule providing a binding to an external web server.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WebhookRouterRuleInternal.class,
+    visible = true)
 @JsonTypeName("webhook")
 @Fluent
 public final class WebhookRouterRuleInternal extends RouterRuleInternal {
@@ -26,8 +31,7 @@ public final class WebhookRouterRuleInternal extends RouterRuleInternal {
     private String authorizationServerUri;
 
     /*
-     * OAuth2.0 Credentials used to Contoso's Authorization server. Reference:
-     * https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
+     * OAuth2.0 Credentials used to Contoso's Authorization server. Reference: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
      */
     @Generated
     @JsonProperty(value = "clientCredential")
@@ -45,6 +49,7 @@ public final class WebhookRouterRuleInternal extends RouterRuleInternal {
      */
     @Generated
     public WebhookRouterRuleInternal() {
+        setKind(RouterRuleKind.WEBHOOK);
     }
 
     /**
@@ -70,8 +75,7 @@ public WebhookRouterRuleInternal setAuthorizationServerUri(String authorizationS
     }
 
     /**
-     * Get the clientCredential property: OAuth2.0 Credentials used to Contoso's Authorization server. Reference:
-     * https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
+     * Get the clientCredential property: OAuth2.0 Credentials used to Contoso's Authorization server. Reference: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
      *
      * @return the clientCredential value.
      */
@@ -103,8 +107,7 @@ public WebhookRouterRuleInternal setWebhookUri(String webhookUri) {
     }
 
     /**
-     * Set the clientCredential property: OAuth2.0 Credentials used to Contoso's Authorization server. Reference:
-     * https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
+     * Set the clientCredential property: OAuth2.0 Credentials used to Contoso's Authorization server. Reference: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
      *
      * @param clientCredential the clientCredential value to set.
      * @return the WebhookRouterRuleInternal object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java
index a82d69805c32..082ce6873cdf 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationQueueSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.QueueSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * Describes multiple sets of queue selectors, of which one will be selected and attached according to a weighting.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WeightedAllocationQueueSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("weightedAllocation")
 @Immutable
 public final class WeightedAllocationQueueSelectorAttachmentInternal extends QueueSelectorAttachmentInternal {
@@ -24,7 +29,7 @@ public final class WeightedAllocationQueueSelectorAttachmentInternal extends Que
      */
     @Generated
     @JsonProperty(value = "allocations")
-    private List allocations;
+    private final List allocations;
 
     /**
      * Creates an instance of WeightedAllocationQueueSelectorAttachmentInternal class.
@@ -35,6 +40,7 @@ public final class WeightedAllocationQueueSelectorAttachmentInternal extends Que
     @JsonCreator
     public WeightedAllocationQueueSelectorAttachmentInternal(
         @JsonProperty(value = "allocations") List allocations) {
+        setKind(QueueSelectorAttachmentKind.WEIGHTED_ALLOCATION);
         this.allocations = allocations;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java
index d0753a41be2e..752e4d65c59b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WeightedAllocationWorkerSelectorAttachmentInternal.java
@@ -3,6 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonCreator;
@@ -14,7 +15,11 @@
 /**
  * Describes multiple sets of worker selectors, of which one will be selected and attached according to a weighting.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = WeightedAllocationWorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("weightedAllocation")
 @Immutable
 public final class WeightedAllocationWorkerSelectorAttachmentInternal extends WorkerSelectorAttachmentInternal {
@@ -24,7 +29,7 @@ public final class WeightedAllocationWorkerSelectorAttachmentInternal extends Wo
      */
     @Generated
     @JsonProperty(value = "allocations")
-    private List allocations;
+    private final List allocations;
 
     /**
      * Creates an instance of WeightedAllocationWorkerSelectorAttachmentInternal class.
@@ -35,6 +40,7 @@ public final class WeightedAllocationWorkerSelectorAttachmentInternal extends Wo
     @JsonCreator
     public WeightedAllocationWorkerSelectorAttachmentInternal(
         @JsonProperty(value = "allocations") List allocations) {
+        setKind(WorkerSelectorAttachmentKind.WEIGHTED_ALLOCATION);
         this.allocations = allocations;
     }
 
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java
index 86d4c6c034d2..348ab7111cf3 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerSelectorAttachmentInternal.java
@@ -3,9 +3,12 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.jobrouter.implementation.models;
 
+import com.azure.communication.jobrouter.models.WorkerSelectorAttachmentKind;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
@@ -14,9 +17,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "kind",
-    defaultImpl = WorkerSelectorAttachmentInternal.class)
+    defaultImpl = WorkerSelectorAttachmentInternal.class,
+    visible = true)
 @JsonTypeName("WorkerSelectorAttachmentInternal")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "conditional", value = ConditionalWorkerSelectorAttachmentInternal.class),
@@ -32,5 +35,36 @@ public class WorkerSelectorAttachmentInternal {
      */
     @Generated
     public WorkerSelectorAttachmentInternal() {
+        this.kind = WorkerSelectorAttachmentKind.fromString("WorkerSelectorAttachmentInternal");
+    }
+
+    /*
+     * The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private WorkerSelectorAttachmentKind kind;
+
+    /**
+     * Get the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public WorkerSelectorAttachmentKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The type discriminator describing a sub-type of WorkerSelectorAttachment.
+     *
+     * @param kind the kind value to set.
+     * @return the WorkerSelectorAttachmentInternal object itself.
+     */
+    @Generated
+    protected WorkerSelectorAttachmentInternal setKind(WorkerSelectorAttachmentKind kind) {
+        this.kind = kind;
+        return this;
     }
 }
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java
index d6534515e1c7..1efe623e0cfc 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/implementation/models/WorkerWeightedAllocationInternal.java
@@ -20,14 +20,14 @@ public final class WorkerWeightedAllocationInternal {
      */
     @Generated
     @JsonProperty(value = "weight")
-    private double weight;
+    private final double weight;
 
     /*
      * A collection of worker selectors that will be applied if this allocation is selected.
      */
     @Generated
     @JsonProperty(value = "workerSelectors")
-    private List workerSelectors;
+    private final List workerSelectors;
 
     /**
      * Creates an instance of WorkerWeightedAllocationInternal class.
@@ -54,8 +54,7 @@ public double getWeight() {
     }
 
     /**
-     * Get the workerSelectors property: A collection of worker selectors that will be applied if this allocation is
-     * selected.
+     * Get the workerSelectors property: A collection of worker selectors that will be applied if this allocation is selected.
      *
      * @return the workerSelectors value.
      */
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java
index fe7de5997a2c..ce37afee0224 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/AcceptJobOfferResult.java
@@ -19,21 +19,21 @@ public final class AcceptJobOfferResult {
      */
     @Generated
     @JsonProperty(value = "assignmentId")
-    private String assignmentId;
+    private final String assignmentId;
 
     /*
      * Id of the job assigned.
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * Id of the worker that has been assigned this job.
      */
     @Generated
     @JsonProperty(value = "workerId")
-    private String workerId;
+    private final String workerId;
 
     /**
      * Creates an instance of AcceptJobOfferResult class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java
new file mode 100644
index 000000000000..f1a10434969b
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/DistributionModeKind.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported distribution mode types.
+ */
+public final class DistributionModeKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for BestWorkerMode.
+     */
+    @Generated
+    public static final DistributionModeKind BEST_WORKER = fromString("bestWorker");
+
+    /**
+     * Discriminator value for LongestIdleMode.
+     */
+    @Generated
+    public static final DistributionModeKind LONGEST_IDLE = fromString("longestIdle");
+
+    /**
+     * Discriminator value for RoundRobinMode.
+     */
+    @Generated
+    public static final DistributionModeKind ROUND_ROBIN = fromString("roundRobin");
+
+    /**
+     * Creates a new instance of DistributionModeKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public DistributionModeKind() {
+    }
+
+    /**
+     * Creates or finds a DistributionModeKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding DistributionModeKind.
+     */
+    @Generated
+    @JsonCreator
+    public static DistributionModeKind fromString(String name) {
+        return fromString(name, DistributionModeKind.class);
+    }
+
+    /**
+     * Gets known DistributionModeKind values.
+     *
+     * @return known DistributionModeKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(DistributionModeKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java
index d1a23e6d3e29..b5dfe7362418 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/FunctionRouterRuleCredential.java
@@ -64,8 +64,7 @@ public FunctionRouterRuleCredential setFunctionKey(String functionKey) {
     }
 
     /**
-     * Get the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions
-     * under the app.
+     * Get the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions under the app.
      *
      * @return the appKey value.
      */
@@ -75,8 +74,7 @@ public String getAppKey() {
     }
 
     /**
-     * Set the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions
-     * under the app.
+     * Set the appKey property: Access key scoped to a Azure Function app. This key grants access to all functions under the app.
      *
      * @param appKey the appKey value to set.
      * @return the FunctionRouterRuleCredential object itself.
@@ -88,8 +86,7 @@ public FunctionRouterRuleCredential setAppKey(String appKey) {
     }
 
     /**
-     * Get the clientId property: Client id, when AppKey is provided In context of Azure function, this is usually the
-     * name of the key.
+     * Get the clientId property: Client id, when AppKey is provided In context of Azure function, this is usually the name of the key.
      *
      * @return the clientId value.
      */
@@ -99,8 +96,7 @@ public String getClientId() {
     }
 
     /**
-     * Set the clientId property: Client id, when AppKey is provided In context of Azure function, this is usually the
-     * name of the key.
+     * Set the clientId property: Client id, when AppKey is provided In context of Azure function, this is usually the name of the key.
      *
      * @param clientId the clientId value to set.
      * @return the FunctionRouterRuleCredential object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java
new file mode 100644
index 000000000000..1819a1d85b85
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/JobMatchingModeKind.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported matching mode types.
+ */
+public final class JobMatchingModeKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for QueueAndMatchMode.
+     */
+    @Generated
+    public static final JobMatchingModeKind QUEUE_AND_MATCH = fromString("queueAndMatch");
+
+    /**
+     * Discriminator value for ScheduleAndSuspendMode.
+     */
+    @Generated
+    public static final JobMatchingModeKind SCHEDULE_AND_SUSPEND = fromString("scheduleAndSuspend");
+
+    /**
+     * Discriminator value for SuspendMode.
+     */
+    @Generated
+    public static final JobMatchingModeKind SUSPEND = fromString("suspend");
+
+    /**
+     * Creates a new instance of JobMatchingModeKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public JobMatchingModeKind() {
+    }
+
+    /**
+     * Creates or finds a JobMatchingModeKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding JobMatchingModeKind.
+     */
+    @Generated
+    @JsonCreator
+    public static JobMatchingModeKind fromString(String name) {
+        return fromString(name, JobMatchingModeKind.class);
+    }
+
+    /**
+     * Gets known JobMatchingModeKind values.
+     *
+     * @return known JobMatchingModeKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(JobMatchingModeKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/OAuth2WebhookClientCredential.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/OAuth2WebhookClientCredential.java
index aac455f5a783..518899280440 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/OAuth2WebhookClientCredential.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/OAuth2WebhookClientCredential.java
@@ -8,8 +8,7 @@
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
- * OAuth2.0 Credentials used to Contoso's Authorization server. Reference:
- * https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
+ * OAuth2.0 Credentials used to Contoso's Authorization server. Reference: https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/.
  */
 @Fluent
 public final class OAuth2WebhookClientCredential {
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java
new file mode 100644
index 000000000000..7f42e78762d2
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/QueueSelectorAttachmentKind.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported queue selector attachment types.
+ */
+public final class QueueSelectorAttachmentKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for ConditionalQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind CONDITIONAL = fromString("conditional");
+
+    /**
+     * Discriminator value for PassThroughQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind PASS_THROUGH = fromString("passThrough");
+
+    /**
+     * Discriminator value for RuleEngineQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind RULE_ENGINE = fromString("ruleEngine");
+
+    /**
+     * Discriminator value for StaticQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind STATIC = fromString("static");
+
+    /**
+     * Discriminator value for WeightedAllocationQueueSelectorAttachment.
+     */
+    @Generated
+    public static final QueueSelectorAttachmentKind WEIGHTED_ALLOCATION = fromString("weightedAllocation");
+
+    /**
+     * Creates a new instance of QueueSelectorAttachmentKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public QueueSelectorAttachmentKind() {
+    }
+
+    /**
+     * Creates or finds a QueueSelectorAttachmentKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding QueueSelectorAttachmentKind.
+     */
+    @Generated
+    @JsonCreator
+    public static QueueSelectorAttachmentKind fromString(String name) {
+        return fromString(name, QueueSelectorAttachmentKind.class);
+    }
+
+    /**
+     * Gets known QueueSelectorAttachmentKind values.
+     *
+     * @return known QueueSelectorAttachmentKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(QueueSelectorAttachmentKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java
index 90d04ac485d6..5d393b65a9d3 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterChannel.java
@@ -19,17 +19,17 @@ public final class RouterChannel {
      */
     @Generated
     @JsonProperty(value = "channelId")
-    private String channelId;
+    private final String channelId;
 
     /*
      * The amount of capacity that an instance of a job of this channel will consume of the total worker capacity.
      */
     @Generated
     @JsonProperty(value = "capacityCostPerJob")
-    private int capacityCostPerJob;
+    private final int capacityCostPerJob;
 
     /*
-     * The maximum number of jobs that can be supported concurrently for this channel.
+     * The maximum number of jobs that can be supported concurrently for this channel. Value must be greater than zero.
      */
     @Generated
     @JsonProperty(value = "maxNumberOfJobs")
@@ -60,8 +60,7 @@ public String getChannelId() {
     }
 
     /**
-     * Get the capacityCostPerJob property: The amount of capacity that an instance of a job of this channel will
-     * consume of the total worker capacity.
+     * Get the capacityCostPerJob property: The amount of capacity that an instance of a job of this channel will consume of the total worker capacity.
      *
      * @return the capacityCostPerJob value.
      */
@@ -71,8 +70,7 @@ public int getCapacityCostPerJob() {
     }
 
     /**
-     * Get the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this
-     * channel.
+     * Get the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this channel. Value must be greater than zero.
      *
      * @return the maxNumberOfJobs value.
      */
@@ -82,8 +80,7 @@ public Integer getMaxNumberOfJobs() {
     }
 
     /**
-     * Set the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this
-     * channel.
+     * Set the maxNumberOfJobs property: The maximum number of jobs that can be supported concurrently for this channel. Value must be greater than zero.
      *
      * @param maxNumberOfJobs the maxNumberOfJobs value to set.
      * @return the RouterChannel object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java
index ce42ce058118..a9c177468d5f 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobAssignment.java
@@ -34,7 +34,7 @@ public final class RouterJobAssignment {
      */
     @Generated
     @JsonProperty(value = "assignedAt")
-    private OffsetDateTime assignedAt;
+    private final OffsetDateTime assignedAt;
 
     /*
      * Timestamp when the job was marked as completed after being assigned in UTC.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java
index 81a50b474939..62a5f697729c 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobOffer.java
@@ -27,14 +27,14 @@ public final class RouterJobOffer {
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * The capacity cost consumed by the job offer.
      */
     @Generated
     @JsonProperty(value = "capacityCost")
-    private int capacityCost;
+    private final int capacityCost;
 
     /*
      * Timestamp when the offer was created in UTC.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java
index 61a70bd154d2..5f07eab7ca8e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobPositionDetails.java
@@ -19,35 +19,35 @@ public final class RouterJobPositionDetails {
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * Position of the job in question within that queue.
      */
     @Generated
     @JsonProperty(value = "position")
-    private int position;
+    private final int position;
 
     /*
      * Id of the queue this job is enqueued in.
      */
     @Generated
     @JsonProperty(value = "queueId")
-    private String queueId;
+    private final String queueId;
 
     /*
      * Length of the queue: total number of enqueued jobs.
      */
     @Generated
     @JsonProperty(value = "queueLength")
-    private int queueLength;
+    private final int queueLength;
 
     /*
      * Estimated wait time of the job rounded up to the nearest minute.
      */
     @Generated
     @JsonProperty(value = "estimatedWaitTimeMinutes")
-    private double estimatedWaitTimeMinutes;
+    private final double estimatedWaitTimeMinutes;
 
     /**
      * Creates an instance of RouterJobPositionDetails class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobStatusSelector.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobStatusSelector.java
index 7830a5091d54..da8a963ea98e 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobStatusSelector.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterJobStatusSelector.java
@@ -92,8 +92,7 @@ public final class RouterJobStatusSelector extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for DirectMapRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind DIRECT_MAP = fromString("directMap");
+
+    /**
+     * Discriminator value for ExpressionRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind EXPRESSION = fromString("expression");
+
+    /**
+     * Discriminator value for FunctionRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind FUNCTION = fromString("function");
+
+    /**
+     * Discriminator value for StaticRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind STATIC = fromString("static");
+
+    /**
+     * Discriminator value for WebhookRouterRule.
+     */
+    @Generated
+    public static final RouterRuleKind WEBHOOK = fromString("webhook");
+
+    /**
+     * Creates a new instance of RouterRuleKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public RouterRuleKind() {
+    }
+
+    /**
+     * Creates or finds a RouterRuleKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding RouterRuleKind.
+     */
+    @Generated
+    @JsonCreator
+    public static RouterRuleKind fromString(String name) {
+        return fromString(name, RouterRuleKind.class);
+    }
+
+    /**
+     * Gets known RouterRuleKind values.
+     *
+     * @return known RouterRuleKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(RouterRuleKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java
index 47826ed98569..6f0f8c37de36 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/RouterWorkerAssignment.java
@@ -20,28 +20,28 @@ public final class RouterWorkerAssignment {
      */
     @Generated
     @JsonProperty(value = "assignmentId")
-    private String assignmentId;
+    private final String assignmentId;
 
     /*
      * Id of the job assigned.
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * The amount of capacity this assignment has consumed on the worker.
      */
     @Generated
     @JsonProperty(value = "capacityCost")
-    private int capacityCost;
+    private final int capacityCost;
 
     /*
      * The assignment time of the job in UTC.
      */
     @Generated
     @JsonProperty(value = "assignedAt")
-    private OffsetDateTime assignedAt;
+    private final OffsetDateTime assignedAt;
 
     /**
      * Creates an instance of RouterWorkerAssignment class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java
index 21b3c42885b1..87975cf616a3 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleOptions.java
@@ -22,10 +22,7 @@ public final class ScoringRuleOptions {
     private Integer batchSize;
 
     /*
-     * List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a
-     * job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`)
-     * are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring
-     * payload.
+     * List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring payload.
      */
     @Generated
     @JsonProperty(value = "scoringParameters")
@@ -46,8 +43,7 @@ public ScoringRuleOptions() {
     }
 
     /**
-     * Get the batchSize property: Set batch size when 'isBatchScoringEnabled' is set to true. Defaults to 20 if not
-     * configured.
+     * Get the batchSize property: Set batch size when 'isBatchScoringEnabled' is set to true. Defaults to 20 if not configured.
      *
      * @return the batchSize value.
      */
@@ -57,8 +53,7 @@ public Integer getBatchSize() {
     }
 
     /**
-     * Set the batchSize property: Set batch size when 'isBatchScoringEnabled' is set to true. Defaults to 20 if not
-     * configured.
+     * Set the batchSize property: Set batch size when 'isBatchScoringEnabled' is set to true. Defaults to 20 if not configured.
      *
      * @param batchSize the batchSize value to set.
      * @return the ScoringRuleOptions object itself.
@@ -70,10 +65,7 @@ public ScoringRuleOptions setBatchSize(Integer batchSize) {
     }
 
     /**
-     * Get the scoringParameters property: List of extra parameters from a job that will be sent as part of the payload
-     * to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in
-     * the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are
-     * always sent with scoring payload.
+     * Get the scoringParameters property: List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring payload.
      *
      * @return the scoringParameters value.
      */
@@ -83,10 +75,7 @@ public List getScoringParameters() {
     }
 
     /**
-     * Set the scoringParameters property: List of extra parameters from a job that will be sent as part of the payload
-     * to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in
-     * the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are
-     * always sent with scoring payload.
+     * Set the scoringParameters property: List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring payload.
      *
      * @param scoringParameters the scoringParameters value to set.
      * @return the ScoringRuleOptions object itself.
@@ -120,18 +109,14 @@ public ScoringRuleOptions setDescendingOrder(Boolean descendingOrder) {
     }
 
     /*
-     * If set to true, will score workers in batches, and the parameter name of the worker labels will be sent as
-     * `workers`. By default, set to false and the parameter name for the worker labels will be sent as `worker`. Note:
-     * If enabled, use 'batchSize' to set batch size.
+     * If set to true, will score workers in batches, and the parameter name of the worker labels will be sent as `workers`. By default, set to false and the parameter name for the worker labels will be sent as `worker`. Note: If enabled, use 'batchSize' to set batch size.
      */
     @Generated
     @JsonProperty(value = "isBatchScoringEnabled")
     private Boolean isBatchScoringEnabled;
 
     /**
-     * Get the isBatchScoringEnabled property: If set to true, will score workers in batches, and the parameter name of
-     * the worker labels will be sent as `workers`. By default, set to false and the parameter name for the worker
-     * labels will be sent as `worker`. Note: If enabled, use 'batchSize' to set batch size.
+     * Get the isBatchScoringEnabled property: If set to true, will score workers in batches, and the parameter name of the worker labels will be sent as `workers`. By default, set to false and the parameter name for the worker labels will be sent as `worker`. Note: If enabled, use 'batchSize' to set batch size.
      *
      * @return the isBatchScoringEnabled value.
      */
@@ -154,9 +139,7 @@ public ScoringRuleOptions setBatchScoringEnabled(Boolean isBatchScoringEnabled)
     }
 
     /**
-     * Set the isBatchScoringEnabled property: If set to true, will score workers in batches, and the parameter name of
-     * the worker labels will be sent as `workers`. By default, set to false and the parameter name for the worker
-     * labels will be sent as `worker`. Note: If enabled, use 'batchSize' to set batch size.
+     * Set the isBatchScoringEnabled property: If set to true, will score workers in batches, and the parameter name of the worker labels will be sent as `workers`. By default, set to false and the parameter name for the worker labels will be sent as `worker`. Note: If enabled, use 'batchSize' to set batch size.
      *
      * @param isBatchScoringEnabled the isBatchScoringEnabled value to set.
      * @return the ScoringRuleOptions object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleParameterSelector.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleParameterSelector.java
index d63c907c002b..544fed33e395 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleParameterSelector.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/ScoringRuleParameterSelector.java
@@ -14,13 +14,13 @@
 public final class ScoringRuleParameterSelector extends ExpandableStringEnum {
 
     /**
-     * Parameter to add job labels to scoring payload. Property is sent as `job`.
+     * Parameter to add job labels to scoring payload.  Property is sent as `job`.
      */
     @Generated
     public static final ScoringRuleParameterSelector JOB_LABELS = fromString("jobLabels");
 
     /**
-     * Parameter to add worker selectors from a job to scoring payload. Property is sent as `selectors`.
+     * Parameter to add worker selectors from a job to scoring payload.  Property is sent as `selectors`.
      */
     @Generated
     public static final ScoringRuleParameterSelector WORKER_SELECTORS = fromString("workerSelectors");
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobOptions.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobOptions.java
index 55d9f5e68dd2..9087527feff1 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobOptions.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobOptions.java
@@ -28,8 +28,7 @@ public UnassignJobOptions() {
     }
 
     /**
-     * Get the suspendMatching property: If SuspendMatching is true, then a job is not queued for re-matching with a
-     * worker.
+     * Get the suspendMatching property: If SuspendMatching is true, then a job is not queued for re-matching with a worker.
      *
      * @return the suspendMatching value.
      */
@@ -39,8 +38,7 @@ public Boolean isSuspendMatching() {
     }
 
     /**
-     * Set the suspendMatching property: If SuspendMatching is true, then a job is not queued for re-matching with a
-     * worker.
+     * Set the suspendMatching property: If SuspendMatching is true, then a job is not queued for re-matching with a worker.
      *
      * @param suspendMatching the suspendMatching value to set.
      * @return the UnassignJobOptions object itself.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java
index 861b5d548267..7c1e2926b80b 100644
--- a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/UnassignJobResult.java
@@ -19,14 +19,14 @@ public final class UnassignJobResult {
      */
     @Generated
     @JsonProperty(value = "jobId")
-    private String jobId;
+    private final String jobId;
 
     /*
      * The number of times a job is unassigned. At a maximum 3.
      */
     @Generated
     @JsonProperty(value = "unassignmentCount")
-    private int unassignmentCount;
+    private final int unassignmentCount;
 
     /**
      * Creates an instance of UnassignJobResult class.
diff --git a/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java
new file mode 100644
index 000000000000..227ce29199e4
--- /dev/null
+++ b/sdk/communication/azure-communication-jobrouter/src/main/java/com/azure/communication/jobrouter/models/WorkerSelectorAttachmentKind.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+package com.azure.communication.jobrouter.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import java.util.Collection;
+
+/**
+ * Discriminators for supported worker selector attachment types.
+ */
+public final class WorkerSelectorAttachmentKind extends ExpandableStringEnum {
+
+    /**
+     * Discriminator value for ConditionalWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind CONDITIONAL = fromString("conditional");
+
+    /**
+     * Discriminator value for PassThroughWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind PASS_THROUGH = fromString("passThrough");
+
+    /**
+     * Discriminator value for RuleEngineWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind RULE_ENGINE = fromString("ruleEngine");
+
+    /**
+     * Discriminator value for StaticWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind STATIC = fromString("static");
+
+    /**
+     * Discriminator value for WeightedAllocationWorkerSelectorAttachment.
+     */
+    @Generated
+    public static final WorkerSelectorAttachmentKind WEIGHTED_ALLOCATION = fromString("weightedAllocation");
+
+    /**
+     * Creates a new instance of WorkerSelectorAttachmentKind value.
+     *
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public WorkerSelectorAttachmentKind() {
+    }
+
+    /**
+     * Creates or finds a WorkerSelectorAttachmentKind from its string representation.
+     *
+     * @param name a name to look for.
+     * @return the corresponding WorkerSelectorAttachmentKind.
+     */
+    @Generated
+    @JsonCreator
+    public static WorkerSelectorAttachmentKind fromString(String name) {
+        return fromString(name, WorkerSelectorAttachmentKind.class);
+    }
+
+    /**
+     * Gets known WorkerSelectorAttachmentKind values.
+     *
+     * @return known WorkerSelectorAttachmentKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(WorkerSelectorAttachmentKind.class);
+    }
+}
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java
index 20ca21711ac0..fd4232b9f6ea 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateAsyncClient.java
@@ -42,30 +42,17 @@ public final class MessageTemplateAsyncClient {
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -105,12 +92,14 @@ public PagedFlux listTemplates(String channelId) {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTemplates(channelId, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(MessageTemplateItem.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java
index ca58289a9b1c..1d9c9ed8c2f1 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClient.java
@@ -38,30 +38,17 @@ public final class MessageTemplateClient {
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java
index b8b3adf04743..af07131c5b68 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/MessageTemplateClientBuilder.java
@@ -3,18 +3,18 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.communication.messages;
 
-import com.azure.communication.common.implementation.CommunicationConnectionString;
 import com.azure.communication.common.implementation.HmacAuthenticationPolicy;
+import com.azure.core.credential.AzureKeyCredential;
+import com.azure.communication.common.implementation.CommunicationConnectionString;
+import com.azure.core.client.traits.ConnectionStringTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
+import com.azure.core.client.traits.TokenCredentialTrait;
 import com.azure.communication.messages.implementation.MessageTemplateClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
-import com.azure.core.client.traits.ConnectionStringTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.AzureKeyCredential;
 import com.azure.core.credential.KeyCredential;
 import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
@@ -27,8 +27,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -307,18 +307,22 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
         policies.add(new AddDatePolicy());
         policies.add(createHttpPipelineAuthPolicy());
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java
index 305e3f701042..a83d3cc0d0e0 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesAsyncClient.java
@@ -41,45 +41,25 @@ public final class NotificationMessagesAsyncClient {
 
     /**
      * Sends a notification message from Business to User.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     receipts (Required): [
@@ -97,8 +77,7 @@ public final class NotificationMessagesAsyncClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return result of the send message operation along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return result of the send message operation along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -108,9 +87,7 @@ public Mono> sendWithResponse(BinaryData notificationConten
 
     /**
      * Download the Media payload from a User to Business message.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java index b4e49073108a..ec0f8dd9585a 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClient.java @@ -39,45 +39,25 @@ public final class NotificationMessagesClient { /** * Sends a notification message from Business to User. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     receipts (Required): [
@@ -105,9 +85,7 @@ public Response sendWithResponse(BinaryData notificationContent, Req
 
     /**
      * Download the Media payload from a User to Business message.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java index cd8cb8776fa5..77ab7f6f8fe0 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/NotificationMessagesClientBuilder.java @@ -3,18 +3,18 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.communication.messages; -import com.azure.communication.common.implementation.CommunicationConnectionString; import com.azure.communication.common.implementation.HmacAuthenticationPolicy; +import com.azure.core.credential.AzureKeyCredential; +import com.azure.communication.common.implementation.CommunicationConnectionString; +import com.azure.core.client.traits.ConnectionStringTrait; +import com.azure.core.client.traits.KeyCredentialTrait; +import com.azure.core.client.traits.TokenCredentialTrait; import com.azure.communication.messages.implementation.NotificationMessagesClientImpl; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.client.traits.ConfigurationTrait; -import com.azure.core.client.traits.ConnectionStringTrait; import com.azure.core.client.traits.EndpointTrait; import com.azure.core.client.traits.HttpTrait; -import com.azure.core.client.traits.KeyCredentialTrait; -import com.azure.core.client.traits.TokenCredentialTrait; -import com.azure.core.credential.AzureKeyCredential; import com.azure.core.credential.KeyCredential; import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; @@ -27,8 +27,8 @@ import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; -import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.http.policy.HttpPolicyProviders; import com.azure.core.http.policy.RequestIdPolicy; @@ -307,18 +307,22 @@ private HttpPipeline createHttpPipeline() { if (headers.getSize() > 0) { policies.add(new AddHeadersPolicy(headers)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .forEach(p -> policies.add(p)); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); policies.add(new AddDatePolicy()); policies.add(createHttpPipelineAuthPolicy()); - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(localHttpLogOptions)); HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient).clientOptions(localClientOptions).build(); + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); return httpPipeline; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java index 65c262030300..8c2a0588e668 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/MessageTemplateClientImpl.java @@ -149,8 +149,7 @@ public MessageTemplateClientImpl(HttpPipeline httpPipeline, SerializerAdapter se } /** - * The interface defining all the services for MessageTemplateClient to be used by the proxy service to perform - * REST calls. + * The interface defining all the services for MessageTemplateClient to be used by the proxy service to perform REST calls. */ @Host("{endpoint}") @ServiceInterface(name = "MessageTemplateClien") @@ -198,30 +197,17 @@ Response listTemplatesNextSync(@PathParam(value = "nextLink", encode /** * List all templates for given Azure Communication Services channel. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -234,8 +220,7 @@ Response listTemplatesNextSync(@PathParam(value = "nextLink", encode
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of MessageTemplateItem items along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return paged collection of MessageTemplateItem items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listTemplatesSinglePageAsync(String channelId,
@@ -250,30 +235,17 @@ private Mono> listTemplatesSinglePageAsync(String chan
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -319,30 +291,17 @@ public PagedFlux listTemplatesAsync(String channelId, RequestOptions
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -368,30 +327,17 @@ private PagedResponse listTemplatesSinglePage(String channelId, Requ
 
     /**
      * List all templates for given Azure Communication Services channel.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
Query Parameters
NameTypeRequiredDescription
maxpagesizeIntegerNoNumber of objects to return per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -437,11 +383,10 @@ public PagedIterable listTemplates(String channelId, RequestOptions
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
@@ -456,8 +401,7 @@ public PagedIterable listTemplates(String channelId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of MessageTemplateItem items along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return paged collection of MessageTemplateItem items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listTemplatesNextSinglePageAsync(String nextLink,
@@ -472,11 +416,10 @@ private Mono> listTemplatesNextSinglePageAsync(String
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(whatsApp) (Required)
      *     name: String (Required)
      *     language: String (Required)
      *     status: String(approved/rejected/pending/paused) (Required)
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java
index a7d5ad3ec367..36fe60615b0b 100644
--- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java
+++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/NotificationMessagesClientImpl.java
@@ -147,8 +147,7 @@ public NotificationMessagesClientImpl(HttpPipeline httpPipeline, SerializerAdapt
     }
 
     /**
-     * The interface defining all the services for NotificationMessagesClient to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for NotificationMessagesClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "NotificationMessages")
@@ -198,45 +197,25 @@ Response downloadMediaSync(@HostParam("endpoint") String endpoint,
 
     /**
      * Sends a notification message from Business to User.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     receipts (Required): [
@@ -254,8 +233,7 @@ Response downloadMediaSync(@HostParam("endpoint") String endpoint,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return result of the send message operation along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return result of the send message operation along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> sendWithResponseAsync(BinaryData notificationContent,
@@ -266,14 +244,14 @@ public Mono> sendWithResponseAsync(BinaryData notificationC
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return FluxUtil.withContext(context -> service.send(this.getEndpoint(), this.getServiceVersion().getVersion(),
@@ -282,45 +260,25 @@ public Mono> sendWithResponseAsync(BinaryData notificationC
 
     /**
      * Sends a notification message from Business to User.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String(text/image/template) (Required)
      *     channelRegistrationId: String (Required)
      *     to (Required): [
      *         String (Required)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     receipts (Required): [
@@ -348,14 +306,14 @@ public Response sendWithResponse(BinaryData notificationContent, Req
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return service.sendSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, notificationContent,
@@ -364,9 +322,7 @@ public Response sendWithResponse(BinaryData notificationContent, Req
 
     /**
      * Download the Media payload from a User to Business message.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
@@ -388,9 +344,7 @@ public Mono> downloadMediaWithResponseAsync(String mediaId, /** * Download the Media payload from a User to Business message. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java index c13663bee822..00a651e0f1e1 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/implementation/models/MessageDataStream.java @@ -27,7 +27,7 @@ public final class MessageDataStream { */ @Generated @JsonProperty(value = "body") - private byte[] body; + private final byte[] body; /** * Creates an instance of MessageDataStream class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java new file mode 100644 index 000000000000..0ad052b3bcf0 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessageKind.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of message. Supports text, image, template. + */ +public final class CommunicationMessageKind extends ExpandableStringEnum { + + /** + * Text message type. + */ + @Generated + public static final CommunicationMessageKind TEXT = fromString("text"); + + /** + * Image message type. + */ + @Generated + public static final CommunicationMessageKind IMAGE = fromString("image"); + + /** + * Template message type. + */ + @Generated + public static final CommunicationMessageKind TEMPLATE = fromString("template"); + + /** + * Creates a new instance of CommunicationMessageKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public CommunicationMessageKind() { + } + + /** + * Creates or finds a CommunicationMessageKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding CommunicationMessageKind. + */ + @Generated + @JsonCreator + public static CommunicationMessageKind fromString(String name) { + return fromString(name, CommunicationMessageKind.class); + } + + /** + * Gets known CommunicationMessageKind values. + * + * @return known CommunicationMessageKind values. + */ + @Generated + public static Collection values() { + return values(CommunicationMessageKind.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java new file mode 100644 index 000000000000..b945820e4220 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/CommunicationMessagesChannel.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the communication messages channel. + */ +public final class CommunicationMessagesChannel extends ExpandableStringEnum { + + /** + * The WhatsApp communication messages channel type. + */ + @Generated + public static final CommunicationMessagesChannel WHATS_APP = fromString("whatsApp"); + + /** + * Creates a new instance of CommunicationMessagesChannel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public CommunicationMessagesChannel() { + } + + /** + * Creates or finds a CommunicationMessagesChannel from its string representation. + * + * @param name a name to look for. + * @return the corresponding CommunicationMessagesChannel. + */ + @Generated + @JsonCreator + public static CommunicationMessagesChannel fromString(String name) { + return fromString(name, CommunicationMessagesChannel.class); + } + + /** + * Gets known CommunicationMessagesChannel values. + * + * @return known CommunicationMessagesChannel values. + */ + @Generated + public static Collection values() { + return values(CommunicationMessagesChannel.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java index 9e9b6d55910a..b3f82712da93 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MediaNotificationContent.java @@ -14,7 +14,11 @@ /** * A request to send a media notification. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MediaNotificationContent.class, + visible = true) @JsonTypeName("image") @Fluent public final class MediaNotificationContent extends NotificationContent { @@ -31,7 +35,7 @@ public final class MediaNotificationContent extends NotificationContent { */ @Generated @JsonProperty(value = "mediaUri") - private String mediaUrl; + private final String mediaUrl; /** * Creates an instance of MediaNotificationContent class. @@ -45,6 +49,7 @@ public final class MediaNotificationContent extends NotificationContent { public MediaNotificationContent(@JsonProperty(value = "channelRegistrationId") String channelRegistrationId, @JsonProperty(value = "to") List to, @JsonProperty(value = "mediaUri") String mediaUrl) { super(channelRegistrationId, to); + setKind(CommunicationMessageKind.IMAGE); this.mediaUrl = mediaUrl; } @@ -71,8 +76,7 @@ public MediaNotificationContent setContent(String content) { } /** - * Get the mediaUrl property: A media url for the file. Required if the type is one of the supported media types, - * e.g. image. + * Get the mediaUrl property: A media url for the file. Required if the type is one of the supported media types, e.g. image. * * @return the mediaUrl value. */ diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java index eb8b3314bf78..b3c4cfdf222b 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageReceipt.java @@ -19,14 +19,14 @@ public final class MessageReceipt { */ @Generated @JsonProperty(value = "messageId") - private String messageId; + private final String messageId; /* * The native external platform user identifier of the recipient. */ @Generated @JsonProperty(value = "to") - private String to; + private final String to; /** * Creates an instance of MessageReceipt class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java index f9b8f1d92a2a..1353113ec6dd 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplate.java @@ -20,15 +20,14 @@ public final class MessageTemplate { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /* - * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional - * two-letter country code, e.g., 'en' or 'en_US'. + * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'. */ @Generated @JsonProperty(value = "language") - private String language; + private final String language; /* * The template values. @@ -69,8 +68,7 @@ public String getName() { } /** - * Get the language property: The template's language, in the ISO 639 format, consist of a two-letter language code - * followed by an optional two-letter country code, e.g., 'en' or 'en_US'. + * Get the language property: The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'. * * @return the language value. */ diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java index 8e75dc6d7cfa..80d4de952b0c 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindings.java @@ -6,7 +6,9 @@ import com.azure.communication.messages.models.channels.WhatsAppMessageTemplateBindings; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -15,9 +17,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "kind", - defaultImpl = MessageTemplateBindings.class) + defaultImpl = MessageTemplateBindings.class, + visible = true) @JsonTypeName("MessageTemplateBindings") @JsonSubTypes({ @JsonSubTypes.Type(name = "whatsApp", value = WhatsAppMessageTemplateBindings.class) }) @Immutable @@ -28,5 +30,36 @@ public class MessageTemplateBindings { */ @Generated public MessageTemplateBindings() { + this.kind = MessageTemplateBindingsKind.fromString("MessageTemplateBindings"); + } + + /* + * The type discriminator describing a template bindings type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateBindingsKind kind; + + /** + * Get the kind property: The type discriminator describing a template bindings type. + * + * @return the kind value. + */ + @Generated + public MessageTemplateBindingsKind getKind() { + return this.kind; + } + + /** + * Set the kind property: The type discriminator describing a template bindings type. + * + * @param kind the kind value to set. + * @return the MessageTemplateBindings object itself. + */ + @Generated + protected MessageTemplateBindings setKind(MessageTemplateBindingsKind kind) { + this.kind = kind; + return this; } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java new file mode 100644 index 000000000000..c42dc4cb13a2 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateBindingsKind.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the message template. + */ +public final class MessageTemplateBindingsKind extends ExpandableStringEnum { + + /** + * The WhatsApp template type. + */ + @Generated + public static final MessageTemplateBindingsKind WHATS_APP = fromString("whatsApp"); + + /** + * Creates a new instance of MessageTemplateBindingsKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public MessageTemplateBindingsKind() { + } + + /** + * Creates or finds a MessageTemplateBindingsKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding MessageTemplateBindingsKind. + */ + @Generated + @JsonCreator + public static MessageTemplateBindingsKind fromString(String name) { + return fromString(name, MessageTemplateBindingsKind.class); + } + + /** + * Gets known MessageTemplateBindingsKind values. + * + * @return known MessageTemplateBindingsKind values. + */ + @Generated + public static Collection values() { + return values(MessageTemplateBindingsKind.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java index 8dd369aa9833..b0c56ff4b6ec 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateDocument.java @@ -13,7 +13,11 @@ /** * The message template's document value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MessageTemplateDocument.class, + visible = true) @JsonTypeName("document") @Fluent public final class MessageTemplateDocument extends MessageTemplateValue { @@ -23,7 +27,7 @@ public final class MessageTemplateDocument extends MessageTemplateValue { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /* * The [optional] caption of the media object. @@ -50,6 +54,7 @@ public final class MessageTemplateDocument extends MessageTemplateValue { public MessageTemplateDocument(@JsonProperty(value = "name") String refValue, @JsonProperty(value = "url") String url) { super(refValue); + setKind(MessageTemplateValueKind.DOCUMENT); this.url = url; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java index 86bcfc40e0eb..1bdbe91b90df 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateImage.java @@ -13,7 +13,7 @@ /** * The message template's image value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateImage.class, visible = true) @JsonTypeName("image") @Fluent public final class MessageTemplateImage extends MessageTemplateValue { @@ -23,7 +23,7 @@ public final class MessageTemplateImage extends MessageTemplateValue { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /* * The [optional] caption of the media object. @@ -50,6 +50,7 @@ public final class MessageTemplateImage extends MessageTemplateValue { public MessageTemplateImage(@JsonProperty(value = "name") String refValue, @JsonProperty(value = "url") String url) { super(refValue); + setKind(MessageTemplateValueKind.IMAGE); this.url = url; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java index 3647a7703d6c..696c65831b9c 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateItem.java @@ -9,17 +9,14 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The message template as returned from the service. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "kind", - defaultImpl = MessageTemplateItem.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateItem.class, visible = true) @JsonTypeName("MessageTemplateItem") @JsonSubTypes({ @JsonSubTypes.Type(name = "whatsApp", value = WhatsAppMessageTemplateItem.class) }) @Immutable @@ -33,19 +30,18 @@ public abstract class MessageTemplateItem { private String name; /* - * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional - * two-letter country code, e.g., 'en' or 'en_US'. + * The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'. */ @Generated @JsonProperty(value = "language") - private String language; + private final String language; /* * The aggregated template status. */ @Generated @JsonProperty(value = "status") - private MessageTemplateStatus status; + private final MessageTemplateStatus status; /** * Creates an instance of MessageTemplateItem class. @@ -57,6 +53,7 @@ public abstract class MessageTemplateItem { @JsonCreator protected MessageTemplateItem(@JsonProperty(value = "language") String language, @JsonProperty(value = "status") MessageTemplateStatus status) { + this.kind = CommunicationMessagesChannel.fromString("MessageTemplateItem"); this.language = language; this.status = status; } @@ -72,8 +69,7 @@ public String getName() { } /** - * Get the language property: The template's language, in the ISO 639 format, consist of a two-letter language code - * followed by an optional two-letter country code, e.g., 'en' or 'en_US'. + * Get the language property: The template's language, in the ISO 639 format, consist of a two-letter language code followed by an optional two-letter country code, e.g., 'en' or 'en_US'. * * @return the language value. */ @@ -91,4 +87,34 @@ public String getLanguage() { public MessageTemplateStatus getStatus() { return this.status; } + + /* + * The type discriminator describing a template type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessagesChannel kind; + + /** + * Get the kind property: The type discriminator describing a template type. + * + * @return the kind value. + */ + @Generated + public CommunicationMessagesChannel getKind() { + return this.kind; + } + + /** + * Set the kind property: The type discriminator describing a template type. + * + * @param kind the kind value to set. + * @return the MessageTemplateItem object itself. + */ + @Generated + protected MessageTemplateItem setKind(CommunicationMessagesChannel kind) { + this.kind = kind; + return this; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java index 4795f995b677..32b4f573194f 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateLocation.java @@ -3,9 +3,9 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.communication.messages.models; +import com.azure.core.models.GeoPosition; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; -import com.azure.core.models.GeoPosition; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; @@ -14,7 +14,11 @@ /** * The message template's location value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MessageTemplateLocation.class, + visible = true) @JsonTypeName("location") @Fluent public final class MessageTemplateLocation extends MessageTemplateValue { @@ -38,14 +42,14 @@ public final class MessageTemplateLocation extends MessageTemplateValue { */ @Generated @JsonProperty(value = "latitude") - private double latitude; + private final double latitude; /* * The longitude of the location. */ @Generated @JsonProperty(value = "longitude") - private double longitude; + private final double longitude; /** * Creates an instance of MessageTemplateLocation class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java index 7a6dbef64e80..57ed7c956d06 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateQuickAction.java @@ -13,7 +13,11 @@ /** * The message template's quick action value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = MessageTemplateQuickAction.class, + visible = true) @JsonTypeName("quickAction") @Fluent public final class MessageTemplateQuickAction extends MessageTemplateValue { @@ -41,6 +45,7 @@ public final class MessageTemplateQuickAction extends MessageTemplateValue { @JsonCreator public MessageTemplateQuickAction(@JsonProperty(value = "name") String refValue) { super(refValue); + setKind(MessageTemplateValueKind.QUICK_ACTION); } /** diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java index 614ac5f083f2..ab3248a4ad83 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateText.java @@ -13,7 +13,7 @@ /** * The message template's text value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateText.class, visible = true) @JsonTypeName("text") @Immutable public final class MessageTemplateText extends MessageTemplateValue { @@ -23,7 +23,7 @@ public final class MessageTemplateText extends MessageTemplateValue { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /** * Creates an instance of MessageTemplateText class. @@ -36,6 +36,7 @@ public final class MessageTemplateText extends MessageTemplateValue { public MessageTemplateText(@JsonProperty(value = "name") String refValue, @JsonProperty(value = "text") String text) { super(refValue); + setKind(MessageTemplateValueKind.TEXT); this.text = text; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java index 8bd743c3a719..6d387780eaa0 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValue.java @@ -8,17 +8,14 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * The class describes a parameter of a template. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "kind", - defaultImpl = MessageTemplateValue.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateValue.class, visible = true) @JsonTypeName("MessageTemplateValue") @JsonSubTypes({ @JsonSubTypes.Type(name = "text", value = MessageTemplateText.class), @@ -35,7 +32,7 @@ public abstract class MessageTemplateValue { */ @Generated @JsonProperty(value = "name") - private String refValue; + private final String refValue; /** * Creates an instance of MessageTemplateValue class. @@ -45,6 +42,7 @@ public abstract class MessageTemplateValue { @Generated @JsonCreator protected MessageTemplateValue(@JsonProperty(value = "name") String refValue) { + this.kind = MessageTemplateValueKind.fromString("MessageTemplateValue"); this.refValue = refValue; } @@ -57,4 +55,34 @@ protected MessageTemplateValue(@JsonProperty(value = "name") String refValue) { public String getRefValue() { return this.refValue; } + + /* + * The type discriminator describing a template parameter type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private MessageTemplateValueKind kind; + + /** + * Get the kind property: The type discriminator describing a template parameter type. + * + * @return the kind value. + */ + @Generated + public MessageTemplateValueKind getKind() { + return this.kind; + } + + /** + * Set the kind property: The type discriminator describing a template parameter type. + * + * @param kind the kind value to set. + * @return the MessageTemplateValue object itself. + */ + @Generated + protected MessageTemplateValue setKind(MessageTemplateValueKind kind) { + this.kind = kind; + return this; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java new file mode 100644 index 000000000000..3a5366dfef07 --- /dev/null +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateValueKind.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.communication.messages.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The type of the template parameter. + */ +public final class MessageTemplateValueKind extends ExpandableStringEnum { + + /** + * The text template parameter type. + */ + @Generated + public static final MessageTemplateValueKind TEXT = fromString("text"); + + /** + * The image template parameter type. + */ + @Generated + public static final MessageTemplateValueKind IMAGE = fromString("image"); + + /** + * The document template parameter type. + */ + @Generated + public static final MessageTemplateValueKind DOCUMENT = fromString("document"); + + /** + * The video template parameter type. + */ + @Generated + public static final MessageTemplateValueKind VIDEO = fromString("video"); + + /** + * The location template parameter type. + */ + @Generated + public static final MessageTemplateValueKind LOCATION = fromString("location"); + + /** + * The quick action template parameter type. + */ + @Generated + public static final MessageTemplateValueKind QUICK_ACTION = fromString("quickAction"); + + /** + * Creates a new instance of MessageTemplateValueKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public MessageTemplateValueKind() { + } + + /** + * Creates or finds a MessageTemplateValueKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding MessageTemplateValueKind. + */ + @Generated + @JsonCreator + public static MessageTemplateValueKind fromString(String name) { + return fromString(name, MessageTemplateValueKind.class); + } + + /** + * Gets known MessageTemplateValueKind values. + * + * @return known MessageTemplateValueKind values. + */ + @Generated + public static Collection values() { + return values(MessageTemplateValueKind.class); + } +} diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java index e2dbf8220477..1167bfa66d32 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/MessageTemplateVideo.java @@ -13,7 +13,7 @@ /** * The message template's video value information. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = MessageTemplateVideo.class, visible = true) @JsonTypeName("video") @Fluent public final class MessageTemplateVideo extends MessageTemplateValue { @@ -23,7 +23,7 @@ public final class MessageTemplateVideo extends MessageTemplateValue { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /* * The [optional] caption of the media object. @@ -50,6 +50,7 @@ public final class MessageTemplateVideo extends MessageTemplateValue { public MessageTemplateVideo(@JsonProperty(value = "name") String refValue, @JsonProperty(value = "url") String url) { super(refValue); + setKind(MessageTemplateValueKind.VIDEO); this.url = url; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java index a5d15b252f74..cecb43b79632 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/NotificationContent.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; import java.util.List; @@ -15,11 +16,7 @@ /** * Details of the message to send. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "kind", - defaultImpl = NotificationContent.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = NotificationContent.class, visible = true) @JsonTypeName("NotificationContent") @JsonSubTypes({ @JsonSubTypes.Type(name = "text", value = TextNotificationContent.class), @@ -33,14 +30,14 @@ public abstract class NotificationContent { */ @Generated @JsonProperty(value = "channelRegistrationId") - private String channelRegistrationId; + private final String channelRegistrationId; /* * The native external platform user identifiers of the recipient. */ @Generated @JsonProperty(value = "to") - private List to; + private final List to; /** * Creates an instance of NotificationContent class. @@ -52,6 +49,7 @@ public abstract class NotificationContent { @JsonCreator protected NotificationContent(@JsonProperty(value = "channelRegistrationId") String channelRegistrationId, @JsonProperty(value = "to") List to) { + this.kind = CommunicationMessageKind.fromString("NotificationContent"); this.channelRegistrationId = channelRegistrationId; this.to = to; } @@ -75,4 +73,34 @@ public String getChannelRegistrationId() { public List getTo() { return this.to; } + + /* + * The type discriminator describing a notification type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "kind") + private CommunicationMessageKind kind; + + /** + * Get the kind property: The type discriminator describing a notification type. + * + * @return the kind value. + */ + @Generated + public CommunicationMessageKind getKind() { + return this.kind; + } + + /** + * Set the kind property: The type discriminator describing a notification type. + * + * @param kind the kind value to set. + * @return the NotificationContent object itself. + */ + @Generated + protected NotificationContent setKind(CommunicationMessageKind kind) { + this.kind = kind; + return this; + } } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java index 1b84855cc9e6..e9ac5b4b3e45 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/SendMessageResult.java @@ -20,7 +20,7 @@ public final class SendMessageResult { */ @Generated @JsonProperty(value = "receipts") - private List receipts; + private final List receipts; /** * Creates an instance of SendMessageResult class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java index 1d5ecd5b0e75..8981224ea0d1 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TemplateNotificationContent.java @@ -14,7 +14,11 @@ /** * A request to send a template notification. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = TemplateNotificationContent.class, + visible = true) @JsonTypeName("template") @Immutable public final class TemplateNotificationContent extends NotificationContent { @@ -24,7 +28,7 @@ public final class TemplateNotificationContent extends NotificationContent { */ @Generated @JsonProperty(value = "template") - private MessageTemplate template; + private final MessageTemplate template; /** * Creates an instance of TemplateNotificationContent class. @@ -38,6 +42,7 @@ public final class TemplateNotificationContent extends NotificationContent { public TemplateNotificationContent(@JsonProperty(value = "channelRegistrationId") String channelRegistrationId, @JsonProperty(value = "to") List to, @JsonProperty(value = "template") MessageTemplate template) { super(channelRegistrationId, to); + setKind(CommunicationMessageKind.TEMPLATE); this.template = template; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java index 26172050593b..4492543b7e4d 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/TextNotificationContent.java @@ -14,7 +14,11 @@ /** * A request to send a text notification. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = TextNotificationContent.class, + visible = true) @JsonTypeName("text") @Immutable public final class TextNotificationContent extends NotificationContent { @@ -24,7 +28,7 @@ public final class TextNotificationContent extends NotificationContent { */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /** * Creates an instance of TextNotificationContent class. @@ -38,6 +42,7 @@ public final class TextNotificationContent extends NotificationContent { public TextNotificationContent(@JsonProperty(value = "channelRegistrationId") String channelRegistrationId, @JsonProperty(value = "to") List to, @JsonProperty(value = "content") String content) { super(channelRegistrationId, to); + setKind(CommunicationMessageKind.TEXT); this.content = content; } diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java index 1e7c09255a0c..edda7d0c067e 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindings.java @@ -4,6 +4,7 @@ package com.azure.communication.messages.models.channels; import com.azure.communication.messages.models.MessageTemplateBindings; +import com.azure.communication.messages.models.MessageTemplateBindingsKind; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.fasterxml.jackson.annotation.JsonProperty; @@ -14,7 +15,11 @@ /** * The template bindings for WhatsApp. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = WhatsAppMessageTemplateBindings.class, + visible = true) @JsonTypeName("whatsApp") @Fluent public final class WhatsAppMessageTemplateBindings extends MessageTemplateBindings { @@ -52,6 +57,7 @@ public final class WhatsAppMessageTemplateBindings extends MessageTemplateBindin */ @Generated public WhatsAppMessageTemplateBindings() { + setKind(MessageTemplateBindingsKind.WHATS_APP); } /** diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsButton.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsButton.java index 125ae061b8f8..4ababe750a16 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsButton.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsButton.java @@ -19,14 +19,14 @@ public final class WhatsAppMessageTemplateBindingsButton { */ @Generated @JsonProperty(value = "subType") - private WhatsAppMessageButtonSubType subType; + private final WhatsAppMessageButtonSubType subType; /* * The name of the referenced item in the template values. */ @Generated @JsonProperty(value = "refValue") - private String refValue; + private final String refValue; /** * Creates an instance of WhatsAppMessageTemplateBindingsButton class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsComponent.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsComponent.java index fe8a07533c45..8176d0df96a8 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsComponent.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateBindingsComponent.java @@ -19,7 +19,7 @@ public final class WhatsAppMessageTemplateBindingsComponent { */ @Generated @JsonProperty(value = "refValue") - private String refValue; + private final String refValue; /** * Creates an instance of WhatsAppMessageTemplateBindingsComponent class. diff --git a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateItem.java b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateItem.java index 75fe9a102c93..8a560b85b147 100644 --- a/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateItem.java +++ b/sdk/communication/azure-communication-messages/src/main/java/com/azure/communication/messages/models/channels/WhatsAppMessageTemplateItem.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.communication.messages.models.channels; +import com.azure.communication.messages.models.CommunicationMessagesChannel; import com.azure.communication.messages.models.MessageTemplateItem; import com.azure.communication.messages.models.MessageTemplateStatus; import com.azure.core.annotation.Generated; @@ -16,7 +17,11 @@ /** * The WhatsApp-specific template response contract. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "kind", + defaultImpl = WhatsAppMessageTemplateItem.class, + visible = true) @JsonTypeName("whatsApp") @Immutable public final class WhatsAppMessageTemplateItem extends MessageTemplateItem { @@ -39,6 +44,7 @@ public final class WhatsAppMessageTemplateItem extends MessageTemplateItem { private WhatsAppMessageTemplateItem(@JsonProperty(value = "language") String language, @JsonProperty(value = "status") MessageTemplateStatus status) { super(language, status); + setKind(CommunicationMessagesChannel.WHATS_APP); } /** diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistAsyncClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistAsyncClient.java index 58f652c3884f..ff9ab62f05db 100644 --- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistAsyncClient.java +++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistAsyncClient.java @@ -4,6 +4,7 @@ package com.azure.ai.contentsafety; import com.azure.ai.contentsafety.implementation.BlocklistClientImpl; +import com.azure.ai.contentsafety.implementation.JsonMergePatchHelper; import com.azure.ai.contentsafety.models.AddOrUpdateTextBlocklistItemsOptions; import com.azure.ai.contentsafety.models.AddOrUpdateTextBlocklistItemsResult; import com.azure.ai.contentsafety.models.RemoveTextBlocklistItemsOptions; @@ -50,11 +51,8 @@ public final class BlocklistAsyncClient { /** * Add or update BlocklistItems To Text Blocklist * - * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one - * request. - *

- * Request Body Schema - *

+ * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one request. + *

Request Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -66,9 +64,7 @@ public final class BlocklistAsyncClient {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -88,8 +84,7 @@ public final class BlocklistAsyncClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response of adding blocklistItems to the text blocklist along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return the response of adding blocklistItems to the text blocklist along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -102,18 +97,14 @@ public Mono> addOrUpdateBlocklistItemsWithResponse(String n
      * Create Or Update Text Blocklist
      *
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -134,8 +125,6 @@ public Mono> addOrUpdateBlocklistItemsWithResponse(String n
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createOrUpdateTextBlocklistWithResponse(String name, BinaryData options,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'createOrUpdateTextBlocklist' is
-        // 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.createOrUpdateTextBlocklistWithResponseAsync(name, options, requestOptions);
     }
 
@@ -162,9 +151,7 @@ public Mono> deleteTextBlocklistWithResponse(String name, Request
      * Get Text Blocklist By blocklistName
      *
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -190,9 +177,7 @@ public Mono> getTextBlocklistWithResponse(String name, Requ
      * Get BlocklistItem By blocklistName And blocklistItemId
      *
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -208,8 +193,7 @@ public Mono> getTextBlocklistWithResponse(String name, Requ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return blocklistItem by blocklistName and blocklistItemId from a text blocklist along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return blocklistItem by blocklistName and blocklistItemId from a text blocklist along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -222,40 +206,16 @@ public Mono> getTextBlocklistItemWithResponse(String name,
      * Get All BlocklistItems By blocklistName
      *
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -282,9 +242,7 @@ public PagedFlux listTextBlocklistItems(String name, RequestOptions
      * Get All Text Blocklists
      *
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -309,9 +267,7 @@ public PagedFlux listTextBlocklists(RequestOptions requestOptions) {
      * Remove BlocklistItems From Text Blocklist
      *
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -339,8 +295,7 @@ public Mono> removeBlocklistItemsWithResponse(String name, Binary
     /**
      * Add or update BlocklistItems To Text Blocklist
      *
-     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
-     * request.
+     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one request.
      *
      * @param name Text blocklist name.
      * @param options Options for adding or updating blocklist items.
@@ -421,8 +376,7 @@ public Mono getTextBlocklist(String name) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return blocklistItem by blocklistName and blocklistItemId from a text blocklist on successful completion of
-     * {@link Mono}.
+     * @return blocklistItem by blocklistName and blocklistItemId from a text blocklist on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -462,11 +416,13 @@ public PagedFlux listTextBlocklistItems(String name, Integer
         }
         PagedFlux pagedFluxResponse = listTextBlocklistItems(name, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklistItem.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -494,11 +450,13 @@ public PagedFlux listTextBlocklistItems(String name) {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTextBlocklistItems(name, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklistItem.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -524,11 +482,13 @@ public PagedFlux listTextBlocklists() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTextBlocklists(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklist.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -558,4 +518,32 @@ public Mono removeBlocklistItems(String name, RemoveTextBlocklistItemsOpti
         return removeBlocklistItemsWithResponse(name, BinaryData.fromObject(options), requestOptions)
             .flatMap(FluxUtil::toMono);
     }
+
+    /**
+     * Create Or Update Text Blocklist
+     *
+     * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
+     *
+     * @param name Text blocklist name.
+     * @param options The resource instance.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+     * @return text Blocklist on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono createOrUpdateTextBlocklist(String name, TextBlocklist options) {
+        // Generated convenience method for createOrUpdateTextBlocklistWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, true);
+        BinaryData optionsInBinaryData = BinaryData.fromBytes(BinaryData.fromObject(options).toBytes());
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, false);
+        return createOrUpdateTextBlocklistWithResponse(name, optionsInBinaryData, requestOptions)
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(TextBlocklist.class));
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java
index 9d50db14d61a..374f86317f2e 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClient.java
@@ -4,6 +4,7 @@
 package com.azure.ai.contentsafety;
 
 import com.azure.ai.contentsafety.implementation.BlocklistClientImpl;
+import com.azure.ai.contentsafety.implementation.JsonMergePatchHelper;
 import com.azure.ai.contentsafety.models.AddOrUpdateTextBlocklistItemsOptions;
 import com.azure.ai.contentsafety.models.AddOrUpdateTextBlocklistItemsResult;
 import com.azure.ai.contentsafety.models.RemoveTextBlocklistItemsOptions;
@@ -44,11 +45,8 @@ public final class BlocklistClient {
     /**
      * Add or update BlocklistItems To Text Blocklist
      *
-     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
-     * request.
-     * 

- * Request Body Schema - *

+ * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one request. + *

Request Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -60,9 +58,7 @@ public final class BlocklistClient {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -95,18 +91,14 @@ public Response addOrUpdateBlocklistItemsWithResponse(String name, B
      * Create Or Update Text Blocklist
      *
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -127,8 +119,6 @@ public Response addOrUpdateBlocklistItemsWithResponse(String name, B
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response createOrUpdateTextBlocklistWithResponse(String name, BinaryData options,
         RequestOptions requestOptions) {
-        // Convenience API is not generated, as operation 'createOrUpdateTextBlocklist' is
-        // 'application/merge-patch+json' and stream-style-serialization is not enabled
         return this.serviceClient.createOrUpdateTextBlocklistWithResponse(name, options, requestOptions);
     }
 
@@ -155,9 +145,7 @@ public Response deleteTextBlocklistWithResponse(String name, RequestOption
      * Get Text Blocklist By blocklistName
      *
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -183,9 +171,7 @@ public Response getTextBlocklistWithResponse(String name, RequestOpt
      * Get BlocklistItem By blocklistName And blocklistItemId
      *
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -214,40 +200,16 @@ public Response getTextBlocklistItemWithResponse(String name, String
      * Get All BlocklistItems By blocklistName
      *
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -274,9 +236,7 @@ public PagedIterable listTextBlocklistItems(String name, RequestOpti
      * Get All Text Blocklists
      *
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -301,9 +261,7 @@ public PagedIterable listTextBlocklists(RequestOptions requestOption
      * Remove BlocklistItems From Text Blocklist
      *
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -331,8 +289,7 @@ public Response removeBlocklistItemsWithResponse(String name, BinaryData o
     /**
      * Add or update BlocklistItems To Text Blocklist
      *
-     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
-     * request.
+     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one request.
      *
      * @param name Text blocklist name.
      * @param options Options for adding or updating blocklist items.
@@ -517,4 +474,31 @@ public void removeBlocklistItems(String name, RemoveTextBlocklistItemsOptions op
         RequestOptions requestOptions = new RequestOptions();
         removeBlocklistItemsWithResponse(name, BinaryData.fromObject(options), requestOptions).getValue();
     }
+
+    /**
+     * Create Or Update Text Blocklist
+     *
+     * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
+     *
+     * @param name Text blocklist name.
+     * @param options The resource instance.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+     * @return text Blocklist.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public TextBlocklist createOrUpdateTextBlocklist(String name, TextBlocklist options) {
+        // Generated convenience method for createOrUpdateTextBlocklistWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, true);
+        BinaryData optionsInBinaryData = BinaryData.fromBytes(BinaryData.fromObject(options).toBytes());
+        JsonMergePatchHelper.getTextBlocklistAccessor().prepareModelForJsonMergePatch(options, false);
+        return createOrUpdateTextBlocklistWithResponse(name, optionsInBinaryData, requestOptions).getValue()
+            .toObject(TextBlocklist.class);
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java
index 69a756753b58..8787381fbd60 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/BlocklistClientBuilder.java
@@ -23,8 +23,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -302,7 +302,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -313,12 +314,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java
index b689c8a0642e..00ecb5c930ff 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyAsyncClient.java
@@ -45,11 +45,8 @@ public final class ContentSafetyAsyncClient {
     /**
      * Analyze Text
      *
-     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -63,9 +60,7 @@ public final class ContentSafetyAsyncClient {
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -101,11 +96,8 @@ public Mono> analyzeTextWithResponse(BinaryData options, Re
     /**
      * Analyze Image
      *
-     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     image (Required): {
@@ -118,9 +110,7 @@ public Mono> analyzeTextWithResponse(BinaryData options, Re
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     categoriesAnalysis (Required): [
@@ -171,8 +161,7 @@ public Mono analyzeText(String text) {
     /**
      * Analyze Text
      *
-     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
+     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence.
      *
      * @param options The text analysis request.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -195,8 +184,7 @@ public Mono analyzeText(AnalyzeTextOptions options) {
     /**
      * Analyze Image
      *
-     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
+     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence.
      *
      * @param options The image analysis request.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java
index bfde1c9964b6..f0c829c23958 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClient.java
@@ -43,11 +43,8 @@ public final class ContentSafetyClient {
     /**
      * Analyze Text
      *
-     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -61,9 +58,7 @@ public final class ContentSafetyClient {
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -99,11 +94,8 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
     /**
      * Analyze Image
      *
-     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     image (Required): {
@@ -116,9 +108,7 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     categoriesAnalysis (Required): [
@@ -147,8 +137,7 @@ public Response analyzeImageWithResponse(BinaryData options, Request
     /**
      * Analyze Text
      *
-     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
+     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence.
      *
      * @param options The text analysis request.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -193,8 +182,7 @@ public AnalyzeTextResult analyzeText(String text) {
     /**
      * Analyze Image
      *
-     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
+     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence.
      *
      * @param options The image analysis request.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java
index 66d449e02fe8..9e66af5a2518 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/ContentSafetyClientBuilder.java
@@ -23,8 +23,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -302,7 +302,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -313,12 +314,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java
index eedb893f17d2..12fa041cba15 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/BlocklistClientImpl.java
@@ -156,8 +156,7 @@ public BlocklistClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializ
     }
 
     /**
-     * The interface defining all the services for BlocklistClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for BlocklistClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/contentsafety")
     @ServiceInterface(name = "BlocklistClient")
@@ -376,11 +375,8 @@ Response listTextBlocklistsNextSync(@PathParam(value = "nextLink", e
     /**
      * Add or update BlocklistItems To Text Blocklist
      * 
-     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
-     * request.
-     * 

- * Request Body Schema - *

+ * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one request. + *

Request Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -392,9 +388,7 @@ Response listTextBlocklistsNextSync(@PathParam(value = "nextLink", e
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -414,8 +408,7 @@ Response listTextBlocklistsNextSync(@PathParam(value = "nextLink", e
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response of adding blocklistItems to the text blocklist along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return the response of adding blocklistItems to the text blocklist along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> addOrUpdateBlocklistItemsWithResponseAsync(String name, BinaryData options,
@@ -428,11 +421,8 @@ public Mono> addOrUpdateBlocklistItemsWithResponseAsync(Str
     /**
      * Add or update BlocklistItems To Text Blocklist
      * 
-     * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one
-     * request.
-     * 

- * Request Body Schema - *

+ * Add or update blocklistItems to a text blocklist. You can add or update at most 100 blocklistItems in one request. + *

Request Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -444,9 +434,7 @@ public Mono> addOrUpdateBlocklistItemsWithResponseAsync(Str
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItems (Required): [
@@ -480,18 +468,14 @@ public Response addOrUpdateBlocklistItemsWithResponse(String name, B
      * Create Or Update Text Blocklist
      * 
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -521,18 +505,14 @@ public Mono> createOrUpdateTextBlocklistWithResponseAsync(S
      * Create Or Update Text Blocklist
      * 
      * Updates a text blocklist. If the blocklistName does not exist, a new blocklist will be created.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
      *     description: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -602,9 +582,7 @@ public Response deleteTextBlocklistWithResponse(String name, RequestOption
      * Get Text Blocklist By blocklistName
      * 
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -631,9 +609,7 @@ public Mono> getTextBlocklistWithResponseAsync(String name,
      * Get Text Blocklist By blocklistName
      * 
      * Returns text blocklist details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -660,9 +636,7 @@ public Response getTextBlocklistWithResponse(String name, RequestOpt
      * Get BlocklistItem By blocklistName And blocklistItemId
      * 
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -678,8 +652,7 @@ public Response getTextBlocklistWithResponse(String name, RequestOpt
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return blocklistItem by blocklistName and blocklistItemId from a text blocklist along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return blocklistItem by blocklistName and blocklistItemId from a text blocklist along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTextBlocklistItemWithResponseAsync(String name, String blocklistItemId,
@@ -693,9 +666,7 @@ public Mono> getTextBlocklistItemWithResponseAsync(String n
      * Get BlocklistItem By blocklistName And blocklistItemId
      * 
      * Get blocklistItem by blocklistName and blocklistItemId from a text blocklist.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -725,40 +696,16 @@ public Response getTextBlocklistItemWithResponse(String name, String
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -773,8 +720,7 @@ public Response getTextBlocklistItemWithResponse(String name, String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all blocklistItems in a text blocklist along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return all blocklistItems in a text blocklist along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listTextBlocklistItemsSinglePageAsync(String name,
@@ -791,40 +737,16 @@ private Mono> listTextBlocklistItemsSinglePageAsync(St
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -874,40 +796,16 @@ public PagedFlux listTextBlocklistItemsAsync(String name, RequestOpt
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -937,40 +835,16 @@ private PagedResponse listTextBlocklistItemsSinglePage(String name,
      * Get All BlocklistItems By blocklistName
      * 
      * Get all blocklistItems in a text blocklist.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe number of result items to return.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -1020,9 +894,7 @@ public PagedIterable listTextBlocklistItems(String name, RequestOpti
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -1051,9 +923,7 @@ private Mono> listTextBlocklistsSinglePageAsync(Reques
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -1081,9 +951,7 @@ public PagedFlux listTextBlocklistsAsync(RequestOptions requestOptio
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -1111,9 +979,7 @@ private PagedResponse listTextBlocklistsSinglePage(RequestOptions re
      * Get All Text Blocklists
      * 
      * Get all text blocklists details.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -1141,9 +1007,7 @@ public PagedIterable listTextBlocklists(RequestOptions requestOption
      * Remove BlocklistItems From Text Blocklist
      * 
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -1173,9 +1037,7 @@ public Mono> removeBlocklistItemsWithResponseAsync(String name, B
      * Remove BlocklistItems From Text Blocklist
      * 
      * Remove blocklistItems from a text blocklist. You can remove at most 100 BlocklistItems in one request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     blocklistItemIds (Required): [
@@ -1205,9 +1067,7 @@ public Response removeBlocklistItemsWithResponse(String name, BinaryData o
      * Get All BlocklistItems By blocklistName
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -1224,8 +1084,7 @@ public Response removeBlocklistItemsWithResponse(String name, BinaryData o
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of TextBlocklistItem items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of TextBlocklistItem items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listTextBlocklistItemsNextSinglePageAsync(String nextLink,
@@ -1242,9 +1101,7 @@ private Mono> listTextBlocklistItemsNextSinglePageAsyn
      * Get All BlocklistItems By blocklistName
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistItemId: String (Required)
@@ -1277,9 +1134,7 @@ private PagedResponse listTextBlocklistItemsNextSinglePage(String ne
      * Get All Text Blocklists
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
@@ -1295,8 +1150,7 @@ private PagedResponse listTextBlocklistItemsNextSinglePage(String ne
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of TextBlocklist items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of TextBlocklist items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listTextBlocklistsNextSinglePageAsync(String nextLink,
@@ -1312,9 +1166,7 @@ private Mono> listTextBlocklistsNextSinglePageAsync(St
      * Get All Text Blocklists
      * 
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistName: String (Required)
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java
index 74de26118073..e88fd07556b1 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/implementation/ContentSafetyClientImpl.java
@@ -146,8 +146,7 @@ public ContentSafetyClientImpl(HttpPipeline httpPipeline, SerializerAdapter seri
     }
 
     /**
-     * The interface defining all the services for ContentSafetyClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for ContentSafetyClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/contentsafety")
     @ServiceInterface(name = "ContentSafetyClient")
@@ -196,11 +195,8 @@ Response analyzeImageSync(@HostParam("endpoint") String endpoint,
     /**
      * Analyze Text
      * 
-     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -214,9 +210,7 @@ Response analyzeImageSync(@HostParam("endpoint") String endpoint,
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -253,11 +247,8 @@ public Mono> analyzeTextWithResponseAsync(BinaryData option
     /**
      * Analyze Text
      * 
-     * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful text content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -271,9 +262,7 @@ public Mono> analyzeTextWithResponseAsync(BinaryData option
      *     outputType: String(FourSeverityLevels/EightSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     blocklistsMatch (Optional): [
@@ -310,11 +299,8 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
     /**
      * Analyze Image
      * 
-     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     image (Required): {
@@ -327,9 +313,7 @@ public Response analyzeTextWithResponse(BinaryData options, RequestO
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     categoriesAnalysis (Required): [
@@ -359,11 +343,8 @@ public Mono> analyzeImageWithResponseAsync(BinaryData optio
     /**
      * Analyze Image
      * 
-     * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories:
-     * Hate, SelfHarm, Sexual, and Violence.
-     * 

- * Request Body Schema - *

+ * A synchronous API for the analysis of potentially harmful image content. Currently, it supports four categories: Hate, SelfHarm, Sexual, and Violence. + *

Request Body Schema

*
{@code
      * {
      *     image (Required): {
@@ -376,9 +357,7 @@ public Mono> analyzeImageWithResponseAsync(BinaryData optio
      *     outputType: String(FourSeverityLevels) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     categoriesAnalysis (Required): [
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java
index f2fe1ed9153e..9c236dff4bba 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsOptions.java
@@ -5,22 +5,25 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The request to add blocklistItems to a text blocklist.
  */
 @Immutable
-public final class AddOrUpdateTextBlocklistItemsOptions {
+public final class AddOrUpdateTextBlocklistItemsOptions
+    implements JsonSerializable {
 
     /*
      * Array of blocklistItems to add.
      */
     @Generated
-    @JsonProperty(value = "blocklistItems")
-    private List blocklistItems;
+    private final List blocklistItems;
 
     /**
      * Creates an instance of AddOrUpdateTextBlocklistItemsOptions class.
@@ -28,9 +31,7 @@ public final class AddOrUpdateTextBlocklistItemsOptions {
      * @param blocklistItems the blocklistItems value to set.
      */
     @Generated
-    @JsonCreator
-    public AddOrUpdateTextBlocklistItemsOptions(
-        @JsonProperty(value = "blocklistItems") List blocklistItems) {
+    public AddOrUpdateTextBlocklistItemsOptions(List blocklistItems) {
         this.blocklistItems = blocklistItems;
     }
 
@@ -43,4 +44,41 @@ public AddOrUpdateTextBlocklistItemsOptions(
     public List getBlocklistItems() {
         return this.blocklistItems;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("blocklistItems", this.blocklistItems,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AddOrUpdateTextBlocklistItemsOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AddOrUpdateTextBlocklistItemsOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AddOrUpdateTextBlocklistItemsOptions.
+     */
+    @Generated
+    public static AddOrUpdateTextBlocklistItemsOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List blocklistItems = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItems".equals(fieldName)) {
+                    blocklistItems = reader.readArray(reader1 -> TextBlocklistItem.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AddOrUpdateTextBlocklistItemsOptions(blocklistItems);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java
index 15fd4cb3e3b2..b733fc63cd17 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AddOrUpdateTextBlocklistItemsResult.java
@@ -5,22 +5,25 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response of adding blocklistItems to the text blocklist.
  */
 @Immutable
-public final class AddOrUpdateTextBlocklistItemsResult {
+public final class AddOrUpdateTextBlocklistItemsResult
+    implements JsonSerializable {
 
     /*
      * Array of blocklistItems have been added.
      */
     @Generated
-    @JsonProperty(value = "blocklistItems")
-    private List blocklistItems;
+    private final List blocklistItems;
 
     /**
      * Creates an instance of AddOrUpdateTextBlocklistItemsResult class.
@@ -28,9 +31,7 @@ public final class AddOrUpdateTextBlocklistItemsResult {
      * @param blocklistItems the blocklistItems value to set.
      */
     @Generated
-    @JsonCreator
-    private AddOrUpdateTextBlocklistItemsResult(
-        @JsonProperty(value = "blocklistItems") List blocklistItems) {
+    private AddOrUpdateTextBlocklistItemsResult(List blocklistItems) {
         this.blocklistItems = blocklistItems;
     }
 
@@ -43,4 +44,41 @@ private AddOrUpdateTextBlocklistItemsResult(
     public List getBlocklistItems() {
         return this.blocklistItems;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("blocklistItems", this.blocklistItems,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AddOrUpdateTextBlocklistItemsResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AddOrUpdateTextBlocklistItemsResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AddOrUpdateTextBlocklistItemsResult.
+     */
+    @Generated
+    public static AddOrUpdateTextBlocklistItemsResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List blocklistItems = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItems".equals(fieldName)) {
+                    blocklistItems = reader.readArray(reader1 -> TextBlocklistItem.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AddOrUpdateTextBlocklistItemsResult(blocklistItems);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java
index d599b95471f7..8559effab392 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOptions.java
@@ -5,37 +5,35 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The image analysis request.
  */
 @Fluent
-public final class AnalyzeImageOptions {
+public final class AnalyzeImageOptions implements JsonSerializable {
 
     /*
      * The image needs to be analyzed.
      */
     @Generated
-    @JsonProperty(value = "image")
-    private ContentSafetyImageData image;
+    private final ContentSafetyImageData image;
 
     /*
-     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories
-     * will be returned.
+     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
-     * This refers to the type of image analysis output. If no value is assigned, the default value will be
-     * "FourSeverityLevels".
+     * This refers to the type of image analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      */
     @Generated
-    @JsonProperty(value = "outputType")
     private AnalyzeImageOutputType outputType;
 
     /**
@@ -44,8 +42,7 @@ public final class AnalyzeImageOptions {
      * @param image the image value to set.
      */
     @Generated
-    @JsonCreator
-    public AnalyzeImageOptions(@JsonProperty(value = "image") ContentSafetyImageData image) {
+    public AnalyzeImageOptions(ContentSafetyImageData image) {
         this.image = image;
     }
 
@@ -60,8 +57,7 @@ public ContentSafetyImageData getImage() {
     }
 
     /**
-     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      *
      * @return the categories value.
      */
@@ -71,8 +67,7 @@ public List getCategories() {
     }
 
     /**
-     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      *
      * @param categories the categories value to set.
      * @return the AnalyzeImageOptions object itself.
@@ -84,8 +79,7 @@ public AnalyzeImageOptions setCategories(List categories) {
     }
 
     /**
-     * Get the outputType property: This refers to the type of image analysis output. If no value is assigned, the
-     * default value will be "FourSeverityLevels".
+     * Get the outputType property: This refers to the type of image analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      *
      * @return the outputType value.
      */
@@ -95,8 +89,7 @@ public AnalyzeImageOutputType getOutputType() {
     }
 
     /**
-     * Set the outputType property: This refers to the type of image analysis output. If no value is assigned, the
-     * default value will be "FourSeverityLevels".
+     * Set the outputType property: This refers to the type of image analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      *
      * @param outputType the outputType value to set.
      * @return the AnalyzeImageOptions object itself.
@@ -106,4 +99,52 @@ public AnalyzeImageOptions setOutputType(AnalyzeImageOutputType outputType) {
         this.outputType = outputType;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("image", this.image);
+        jsonWriter.writeArrayField("categories", this.categories,
+            (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+        jsonWriter.writeStringField("outputType", this.outputType == null ? null : this.outputType.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeImageOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeImageOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeImageOptions.
+     */
+    @Generated
+    public static AnalyzeImageOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContentSafetyImageData image = null;
+            List categories = null;
+            AnalyzeImageOutputType outputType = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("image".equals(fieldName)) {
+                    image = ContentSafetyImageData.fromJson(reader);
+                } else if ("categories".equals(fieldName)) {
+                    categories = reader.readArray(reader1 -> ImageCategory.fromString(reader1.getString()));
+                } else if ("outputType".equals(fieldName)) {
+                    outputType = AnalyzeImageOutputType.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeImageOptions deserializedAnalyzeImageOptions = new AnalyzeImageOptions(image);
+            deserializedAnalyzeImageOptions.categories = categories;
+            deserializedAnalyzeImageOptions.outputType = outputType;
+            return deserializedAnalyzeImageOptions;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java
index 26b19f3b75a4..8633e572854a 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageOutputType.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -36,7 +35,6 @@ public AnalyzeImageOutputType() {
      * @return the corresponding AnalyzeImageOutputType.
      */
     @Generated
-    @JsonCreator
     public static AnalyzeImageOutputType fromString(String name) {
         return fromString(name, AnalyzeImageOutputType.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java
index c81638c92d42..4f5f4ba101af 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeImageResult.java
@@ -5,22 +5,24 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The image analysis response.
  */
 @Immutable
-public final class AnalyzeImageResult {
+public final class AnalyzeImageResult implements JsonSerializable {
 
     /*
      * Analysis result for categories.
      */
     @Generated
-    @JsonProperty(value = "categoriesAnalysis")
-    private List categoriesAnalysis;
+    private final List categoriesAnalysis;
 
     /**
      * Creates an instance of AnalyzeImageResult class.
@@ -28,9 +30,7 @@ public final class AnalyzeImageResult {
      * @param categoriesAnalysis the categoriesAnalysis value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeImageResult(
-        @JsonProperty(value = "categoriesAnalysis") List categoriesAnalysis) {
+    private AnalyzeImageResult(List categoriesAnalysis) {
         this.categoriesAnalysis = categoriesAnalysis;
     }
 
@@ -43,4 +43,41 @@ private AnalyzeImageResult(
     public List getCategoriesAnalysis() {
         return this.categoriesAnalysis;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("categoriesAnalysis", this.categoriesAnalysis,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeImageResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeImageResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeImageResult.
+     */
+    @Generated
+    public static AnalyzeImageResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List categoriesAnalysis = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("categoriesAnalysis".equals(fieldName)) {
+                    categoriesAnalysis = reader.readArray(reader1 -> ImageCategoriesAnalysis.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AnalyzeImageResult(categoriesAnalysis);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java
index 21ff6f5a2dd7..37a59807629e 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOptions.java
@@ -5,53 +5,47 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The text analysis request.
  */
 @Fluent
-public final class AnalyzeTextOptions {
+public final class AnalyzeTextOptions implements JsonSerializable {
 
     /*
-     * The text needs to be analyzed. We support a maximum of 10k Unicode characters (Unicode code points) in the text
-     * of one request.
+     * The text needs to be analyzed. We support a maximum of 10k Unicode characters (Unicode code points) in the text of one request.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
-     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories
-     * will be returned.
+     * The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * The names of blocklists.
      */
     @Generated
-    @JsonProperty(value = "blocklistNames")
     private List blocklistNames;
 
     /*
-     * When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit.
-     * When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit.
+     * When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit.
      */
     @Generated
-    @JsonProperty(value = "haltOnBlocklistHit")
     private Boolean haltOnBlocklistHit;
 
     /*
-     * This refers to the type of text analysis output. If no value is assigned, the default value will be
-     * "FourSeverityLevels".
+     * This refers to the type of text analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      */
     @Generated
-    @JsonProperty(value = "outputType")
     private AnalyzeTextOutputType outputType;
 
     /**
@@ -60,14 +54,12 @@ public final class AnalyzeTextOptions {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    public AnalyzeTextOptions(@JsonProperty(value = "text") String text) {
+    public AnalyzeTextOptions(String text) {
         this.text = text;
     }
 
     /**
-     * Get the text property: The text needs to be analyzed. We support a maximum of 10k Unicode characters (Unicode
-     * code points) in the text of one request.
+     * Get the text property: The text needs to be analyzed. We support a maximum of 10k Unicode characters (Unicode code points) in the text of one request.
      *
      * @return the text value.
      */
@@ -77,8 +69,7 @@ public String getText() {
     }
 
     /**
-     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Get the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      *
      * @return the categories value.
      */
@@ -88,8 +79,7 @@ public List getCategories() {
     }
 
     /**
-     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of
-     * analysis results for the categories will be returned.
+     * Set the categories property: The categories will be analyzed. If they are not assigned, a default set of analysis results for the categories will be returned.
      *
      * @param categories the categories value to set.
      * @return the AnalyzeTextOptions object itself.
@@ -123,9 +113,7 @@ public AnalyzeTextOptions setBlocklistNames(List blocklistNames) {
     }
 
     /**
-     * Get the haltOnBlocklistHit property: When set to true, further analyses of harmful content will not be performed
-     * in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether
-     * or not blocklists are hit.
+     * Get the haltOnBlocklistHit property: When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit.
      *
      * @return the haltOnBlocklistHit value.
      */
@@ -135,9 +123,7 @@ public Boolean isHaltOnBlocklistHit() {
     }
 
     /**
-     * Set the haltOnBlocklistHit property: When set to true, further analyses of harmful content will not be performed
-     * in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether
-     * or not blocklists are hit.
+     * Set the haltOnBlocklistHit property: When set to true, further analyses of harmful content will not be performed in cases where blocklists are hit. When set to false, all analyses of harmful content will be performed, whether or not blocklists are hit.
      *
      * @param haltOnBlocklistHit the haltOnBlocklistHit value to set.
      * @return the AnalyzeTextOptions object itself.
@@ -149,8 +135,7 @@ public AnalyzeTextOptions setHaltOnBlocklistHit(Boolean haltOnBlocklistHit) {
     }
 
     /**
-     * Get the outputType property: This refers to the type of text analysis output. If no value is assigned, the
-     * default value will be "FourSeverityLevels".
+     * Get the outputType property: This refers to the type of text analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      *
      * @return the outputType value.
      */
@@ -160,8 +145,7 @@ public AnalyzeTextOutputType getOutputType() {
     }
 
     /**
-     * Set the outputType property: This refers to the type of text analysis output. If no value is assigned, the
-     * default value will be "FourSeverityLevels".
+     * Set the outputType property: This refers to the type of text analysis output. If no value is assigned, the default value will be "FourSeverityLevels".
      *
      * @param outputType the outputType value to set.
      * @return the AnalyzeTextOptions object itself.
@@ -171,4 +155,63 @@ public AnalyzeTextOptions setOutputType(AnalyzeTextOutputType outputType) {
         this.outputType = outputType;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeArrayField("categories", this.categories,
+            (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+        jsonWriter.writeArrayField("blocklistNames", this.blocklistNames,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeBooleanField("haltOnBlocklistHit", this.haltOnBlocklistHit);
+        jsonWriter.writeStringField("outputType", this.outputType == null ? null : this.outputType.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeTextOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeTextOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeTextOptions.
+     */
+    @Generated
+    public static AnalyzeTextOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            List categories = null;
+            List blocklistNames = null;
+            Boolean haltOnBlocklistHit = null;
+            AnalyzeTextOutputType outputType = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("categories".equals(fieldName)) {
+                    categories = reader.readArray(reader1 -> TextCategory.fromString(reader1.getString()));
+                } else if ("blocklistNames".equals(fieldName)) {
+                    blocklistNames = reader.readArray(reader1 -> reader1.getString());
+                } else if ("haltOnBlocklistHit".equals(fieldName)) {
+                    haltOnBlocklistHit = reader.getNullable(JsonReader::getBoolean);
+                } else if ("outputType".equals(fieldName)) {
+                    outputType = AnalyzeTextOutputType.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeTextOptions deserializedAnalyzeTextOptions = new AnalyzeTextOptions(text);
+            deserializedAnalyzeTextOptions.categories = categories;
+            deserializedAnalyzeTextOptions.blocklistNames = blocklistNames;
+            deserializedAnalyzeTextOptions.haltOnBlocklistHit = haltOnBlocklistHit;
+            deserializedAnalyzeTextOptions.outputType = outputType;
+            return deserializedAnalyzeTextOptions;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java
index 25a21e33b6de..a091101e1cc1 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextOutputType.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public AnalyzeTextOutputType() {
      * @return the corresponding AnalyzeTextOutputType.
      */
     @Generated
-    @JsonCreator
     public static AnalyzeTextOutputType fromString(String name) {
         return fromString(name, AnalyzeTextOutputType.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java
index 21a0a6d33936..9cc018d0098f 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/AnalyzeTextResult.java
@@ -5,29 +5,30 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The text analysis response.
  */
 @Immutable
-public final class AnalyzeTextResult {
+public final class AnalyzeTextResult implements JsonSerializable {
 
     /*
      * The blocklist match details.
      */
     @Generated
-    @JsonProperty(value = "blocklistsMatch")
     private List blocklistsMatch;
 
     /*
      * Analysis result for categories.
      */
     @Generated
-    @JsonProperty(value = "categoriesAnalysis")
-    private List categoriesAnalysis;
+    private final List categoriesAnalysis;
 
     /**
      * Creates an instance of AnalyzeTextResult class.
@@ -35,9 +36,7 @@ public final class AnalyzeTextResult {
      * @param categoriesAnalysis the categoriesAnalysis value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeTextResult(
-        @JsonProperty(value = "categoriesAnalysis") List categoriesAnalysis) {
+    private AnalyzeTextResult(List categoriesAnalysis) {
         this.categoriesAnalysis = categoriesAnalysis;
     }
 
@@ -60,4 +59,48 @@ public List getBlocklistsMatch() {
     public List getCategoriesAnalysis() {
         return this.categoriesAnalysis;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("categoriesAnalysis", this.categoriesAnalysis,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("blocklistsMatch", this.blocklistsMatch,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeTextResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeTextResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeTextResult.
+     */
+    @Generated
+    public static AnalyzeTextResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List categoriesAnalysis = null;
+            List blocklistsMatch = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("categoriesAnalysis".equals(fieldName)) {
+                    categoriesAnalysis = reader.readArray(reader1 -> TextCategoriesAnalysis.fromJson(reader1));
+                } else if ("blocklistsMatch".equals(fieldName)) {
+                    blocklistsMatch = reader.readArray(reader1 -> TextBlocklistMatch.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeTextResult deserializedAnalyzeTextResult = new AnalyzeTextResult(categoriesAnalysis);
+            deserializedAnalyzeTextResult.blocklistsMatch = blocklistsMatch;
+            return deserializedAnalyzeTextResult;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java
index 9097a10a7d78..a6190bebd5d0 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ContentSafetyImageData.java
@@ -5,29 +5,29 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import com.azure.core.util.BinaryData;
-import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
- * The image can be either base64 encoded bytes or a blob URL. You can choose only one of these options. If both are
- * provided, the request will be refused. The maximum image size is 2048 x 2048 pixels and should not exceed 4 MB,
- * while the minimum image size is 50 x 50 pixels.
+ * The image can be either base64 encoded bytes or a blob URL. You can choose only one of these options. If both are provided, the request will be refused. The maximum image size is 2048 x 2048 pixels and should not exceed 4 MB, while the minimum image size is 50 x 50 pixels.
  */
 @Fluent
-public final class ContentSafetyImageData {
+public final class ContentSafetyImageData implements JsonSerializable {
 
     /*
      * The Base64 encoding of the image.
      */
     @Generated
-    @JsonProperty(value = "content")
     private byte[] content;
 
     /*
      * The blob url of the image.
      */
     @Generated
-    @JsonProperty(value = "blobUrl")
     private String blobUrl;
 
     /**
@@ -78,4 +78,42 @@ public ContentSafetyImageData setBlobUrl(String blobUrl) {
         this.blobUrl = blobUrl;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeBinaryField("content", this.content);
+        jsonWriter.writeStringField("blobUrl", this.blobUrl);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ContentSafetyImageData from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ContentSafetyImageData if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ContentSafetyImageData.
+     */
+    @Generated
+    public static ContentSafetyImageData fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContentSafetyImageData deserializedContentSafetyImageData = new ContentSafetyImageData();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("content".equals(fieldName)) {
+                    deserializedContentSafetyImageData.content = reader.getBinary();
+                } else if ("blobUrl".equals(fieldName)) {
+                    deserializedContentSafetyImageData.blobUrl = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedContentSafetyImageData;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java
index 478642f2ee5a..0c77fe291a55 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategoriesAnalysis.java
@@ -5,29 +5,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Image analysis result.
  */
 @Immutable
-public final class ImageCategoriesAnalysis {
+public final class ImageCategoriesAnalysis implements JsonSerializable {
 
     /*
      * The image analysis category.
      */
     @Generated
-    @JsonProperty(value = "category")
-    private ImageCategory category;
+    private final ImageCategory category;
 
     /*
-     * The value increases with the severity of the input content. The value of this field is determined by the output
-     * type specified in the request. The output type could be ‘FourSeverityLevels’, and the output value can be 0, 2,
-     * 4, 6.
+     * The value increases with the severity of the input content. The value of this field is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’, and the output value can be 0, 2, 4, 6.
      */
     @Generated
-    @JsonProperty(value = "severity")
     private Integer severity;
 
     /**
@@ -36,8 +35,7 @@ public final class ImageCategoriesAnalysis {
      * @param category the category value to set.
      */
     @Generated
-    @JsonCreator
-    private ImageCategoriesAnalysis(@JsonProperty(value = "category") ImageCategory category) {
+    private ImageCategoriesAnalysis(ImageCategory category) {
         this.category = category;
     }
 
@@ -52,9 +50,7 @@ public ImageCategory getCategory() {
     }
 
     /**
-     * Get the severity property: The value increases with the severity of the input content. The value of this field
-     * is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’, and
-     * the output value can be 0, 2, 4, 6.
+     * Get the severity property: The value increases with the severity of the input content. The value of this field is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’, and the output value can be 0, 2, 4, 6.
      *
      * @return the severity value.
      */
@@ -62,4 +58,46 @@ public ImageCategory getCategory() {
     public Integer getSeverity() {
         return this.severity;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("severity", this.severity);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ImageCategoriesAnalysis from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ImageCategoriesAnalysis if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ImageCategoriesAnalysis.
+     */
+    @Generated
+    public static ImageCategoriesAnalysis fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ImageCategory category = null;
+            Integer severity = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("category".equals(fieldName)) {
+                    category = ImageCategory.fromString(reader.getString());
+                } else if ("severity".equals(fieldName)) {
+                    severity = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ImageCategoriesAnalysis deserializedImageCategoriesAnalysis = new ImageCategoriesAnalysis(category);
+            deserializedImageCategoriesAnalysis.severity = severity;
+            return deserializedImageCategoriesAnalysis;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java
index 36ceb6947c51..67ee0baa0779 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/ImageCategory.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public ImageCategory() {
      * @return the corresponding ImageCategory.
      */
     @Generated
-    @JsonCreator
     public static ImageCategory fromString(String name) {
         return fromString(name, ImageCategory.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java
index f98bd7536e89..0b3ed26e5bd5 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/RemoveTextBlocklistItemsOptions.java
@@ -5,22 +5,24 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The request to remove blocklistItems from a text blocklist.
  */
 @Immutable
-public final class RemoveTextBlocklistItemsOptions {
+public final class RemoveTextBlocklistItemsOptions implements JsonSerializable {
 
     /*
      * Array of blocklistItemIds to remove.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemIds")
-    private List blocklistItemIds;
+    private final List blocklistItemIds;
 
     /**
      * Creates an instance of RemoveTextBlocklistItemsOptions class.
@@ -28,8 +30,7 @@ public final class RemoveTextBlocklistItemsOptions {
      * @param blocklistItemIds the blocklistItemIds value to set.
      */
     @Generated
-    @JsonCreator
-    public RemoveTextBlocklistItemsOptions(@JsonProperty(value = "blocklistItemIds") List blocklistItemIds) {
+    public RemoveTextBlocklistItemsOptions(List blocklistItemIds) {
         this.blocklistItemIds = blocklistItemIds;
     }
 
@@ -42,4 +43,41 @@ public RemoveTextBlocklistItemsOptions(@JsonProperty(value = "blocklistItemIds")
     public List getBlocklistItemIds() {
         return this.blocklistItemIds;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("blocklistItemIds", this.blocklistItemIds,
+            (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RemoveTextBlocklistItemsOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RemoveTextBlocklistItemsOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RemoveTextBlocklistItemsOptions.
+     */
+    @Generated
+    public static RemoveTextBlocklistItemsOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List blocklistItemIds = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItemIds".equals(fieldName)) {
+                    blocklistItemIds = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RemoveTextBlocklistItemsOptions(blocklistItemIds);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java
index 841d73776133..a93abb08d4cd 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklist.java
@@ -3,28 +3,33 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.contentsafety.models;
 
+import com.azure.ai.contentsafety.implementation.JsonMergePatchHelper;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
  * Text Blocklist.
  */
 @Fluent
-public final class TextBlocklist {
+public final class TextBlocklist implements JsonSerializable {
 
     /*
      * Text blocklist name.
      */
     @Generated
-    @JsonProperty(value = "blocklistName", access = JsonProperty.Access.WRITE_ONLY)
     private String name;
 
     /*
      * Text blocklist description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /**
@@ -63,6 +68,87 @@ public String getDescription() {
     @Generated
     public TextBlocklist setDescription(String description) {
         this.description = description;
+        this.updatedProperties.add("description");
         return this;
     }
+
+    @Generated
+    private boolean jsonMergePatch;
+
+    /**
+     * Stores updated model property, the value is property name, not serialized name.
+     */
+    @Generated
+    private final Set updatedProperties = new HashSet<>();
+
+    @Generated
+    void serializeAsJsonMergePatch(boolean jsonMergePatch) {
+        this.jsonMergePatch = jsonMergePatch;
+    }
+
+    static {
+        JsonMergePatchHelper.setTextBlocklistAccessor((model, jsonMergePatchEnabled) -> {
+            model.serializeAsJsonMergePatch(jsonMergePatchEnabled);
+            return model;
+        });
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        if (jsonMergePatch) {
+            return toJsonMergePatch(jsonWriter);
+        } else {
+            jsonWriter.writeStartObject();
+            jsonWriter.writeStringField("description", this.description);
+            return jsonWriter.writeEndObject();
+        }
+    }
+
+    @Generated
+    private JsonWriter toJsonMergePatch(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        if (updatedProperties.contains("description")) {
+            if (this.description == null) {
+                jsonWriter.writeNullField("description");
+            } else {
+                jsonWriter.writeStringField("description", this.description);
+            }
+        }
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextBlocklist from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextBlocklist if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextBlocklist.
+     */
+    @Generated
+    public static TextBlocklist fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String description = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistName".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TextBlocklist deserializedTextBlocklist = new TextBlocklist();
+            deserializedTextBlocklist.name = name;
+            deserializedTextBlocklist.description = description;
+            return deserializedTextBlocklist;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java
index b14a3c043d88..8bbb89b4b3b6 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistItem.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Item in a TextBlocklist.
  */
 @Fluent
-public final class TextBlocklistItem {
+public final class TextBlocklistItem implements JsonSerializable {
 
     /*
      * The service will generate a BlocklistItemId, which will be a UUID.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemId", access = JsonProperty.Access.WRITE_ONLY)
     private String blocklistItemId;
 
     /*
      * BlocklistItem description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * BlocklistItem content.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of TextBlocklistItem class.
@@ -41,8 +41,7 @@ public final class TextBlocklistItem {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    public TextBlocklistItem(@JsonProperty(value = "text") String text) {
+    public TextBlocklistItem(String text) {
         this.text = text;
     }
 
@@ -87,4 +86,50 @@ public TextBlocklistItem setDescription(String description) {
     public String getText() {
         return this.text;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeStringField("description", this.description);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextBlocklistItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextBlocklistItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextBlocklistItem.
+     */
+    @Generated
+    public static TextBlocklistItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String blocklistItemId = null;
+            String text = null;
+            String description = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistItemId".equals(fieldName)) {
+                    blocklistItemId = reader.getString();
+                } else if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TextBlocklistItem deserializedTextBlocklistItem = new TextBlocklistItem(text);
+            deserializedTextBlocklistItem.blocklistItemId = blocklistItemId;
+            deserializedTextBlocklistItem.description = description;
+            return deserializedTextBlocklistItem;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java
index e12e49b2c84f..d4de45760d12 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextBlocklistMatch.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The result of blocklist match.
  */
 @Immutable
-public final class TextBlocklistMatch {
+public final class TextBlocklistMatch implements JsonSerializable {
 
     /*
      * The name of the matched blocklist.
      */
     @Generated
-    @JsonProperty(value = "blocklistName")
-    private String blocklistName;
+    private final String blocklistName;
 
     /*
      * The ID of the matched item.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemId")
-    private String blocklistItemId;
+    private final String blocklistItemId;
 
     /*
      * The content of the matched item.
      */
     @Generated
-    @JsonProperty(value = "blocklistItemText")
-    private String blocklistItemText;
+    private final String blocklistItemText;
 
     /**
      * Creates an instance of TextBlocklistMatch class.
@@ -43,10 +43,7 @@ public final class TextBlocklistMatch {
      * @param blocklistItemText the blocklistItemText value to set.
      */
     @Generated
-    @JsonCreator
-    private TextBlocklistMatch(@JsonProperty(value = "blocklistName") String blocklistName,
-        @JsonProperty(value = "blocklistItemId") String blocklistItemId,
-        @JsonProperty(value = "blocklistItemText") String blocklistItemText) {
+    private TextBlocklistMatch(String blocklistName, String blocklistItemId, String blocklistItemText) {
         this.blocklistName = blocklistName;
         this.blocklistItemId = blocklistItemId;
         this.blocklistItemText = blocklistItemText;
@@ -81,4 +78,48 @@ public String getBlocklistItemId() {
     public String getBlocklistItemText() {
         return this.blocklistItemText;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("blocklistName", this.blocklistName);
+        jsonWriter.writeStringField("blocklistItemId", this.blocklistItemId);
+        jsonWriter.writeStringField("blocklistItemText", this.blocklistItemText);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextBlocklistMatch from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextBlocklistMatch if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextBlocklistMatch.
+     */
+    @Generated
+    public static TextBlocklistMatch fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String blocklistName = null;
+            String blocklistItemId = null;
+            String blocklistItemText = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("blocklistName".equals(fieldName)) {
+                    blocklistName = reader.getString();
+                } else if ("blocklistItemId".equals(fieldName)) {
+                    blocklistItemId = reader.getString();
+                } else if ("blocklistItemText".equals(fieldName)) {
+                    blocklistItemText = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TextBlocklistMatch(blocklistName, blocklistItemId, blocklistItemText);
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java
index 623f87ad2535..820126049229 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategoriesAnalysis.java
@@ -5,29 +5,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Text analysis result.
  */
 @Immutable
-public final class TextCategoriesAnalysis {
+public final class TextCategoriesAnalysis implements JsonSerializable {
 
     /*
      * The text analysis category.
      */
     @Generated
-    @JsonProperty(value = "category")
-    private TextCategory category;
+    private final TextCategory category;
 
     /*
-     * The value increases with the severity of the input content. The value of this field is determined by the output
-     * type specified in the request. The output type could be ‘FourSeverityLevels’ or ‘EightSeverity Levels’, and the
-     * output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
+     * The value increases with the severity of the input content. The value of this field is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’ or ‘EightSeverity Levels’, and the output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
      */
     @Generated
-    @JsonProperty(value = "severity")
     private Integer severity;
 
     /**
@@ -36,8 +35,7 @@ public final class TextCategoriesAnalysis {
      * @param category the category value to set.
      */
     @Generated
-    @JsonCreator
-    private TextCategoriesAnalysis(@JsonProperty(value = "category") TextCategory category) {
+    private TextCategoriesAnalysis(TextCategory category) {
         this.category = category;
     }
 
@@ -52,9 +50,7 @@ public TextCategory getCategory() {
     }
 
     /**
-     * Get the severity property: The value increases with the severity of the input content. The value of this field
-     * is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’ or
-     * ‘EightSeverity Levels’, and the output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
+     * Get the severity property: The value increases with the severity of the input content. The value of this field is determined by the output type specified in the request. The output type could be ‘FourSeverityLevels’ or ‘EightSeverity Levels’, and the output value can be 0, 2, 4, 6 or 0, 1, 2, 3, 4, 5, 6, or 7.
      *
      * @return the severity value.
      */
@@ -62,4 +58,46 @@ public TextCategory getCategory() {
     public Integer getSeverity() {
         return this.severity;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("severity", this.severity);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TextCategoriesAnalysis from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TextCategoriesAnalysis if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TextCategoriesAnalysis.
+     */
+    @Generated
+    public static TextCategoriesAnalysis fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TextCategory category = null;
+            Integer severity = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("category".equals(fieldName)) {
+                    category = TextCategory.fromString(reader.getString());
+                } else if ("severity".equals(fieldName)) {
+                    severity = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TextCategoriesAnalysis deserializedTextCategoriesAnalysis = new TextCategoriesAnalysis(category);
+            deserializedTextCategoriesAnalysis.severity = severity;
+            return deserializedTextCategoriesAnalysis;
+        });
+    }
 }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java
index fb5942c6f1dc..fefbff9e5cb6 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/com/azure/ai/contentsafety/models/TextCategory.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public TextCategory() {
      * @return the corresponding TextCategory.
      */
     @Generated
-    @JsonCreator
     public static TextCategory fromString(String name) {
         return fromString(name, TextCategory.class);
     }
diff --git a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java
index 7581ba2c91b9..76ef3fccc92c 100644
--- a/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java
+++ b/sdk/contentsafety/azure-ai-contentsafety/src/main/java/module-info.java
@@ -4,7 +4,9 @@
 
 module com.azure.ai.contentsafety {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.ai.contentsafety;
     exports com.azure.ai.contentsafety.models;
+    opens com.azure.ai.contentsafety.models to com.azure.core;
     opens com.azure.ai.contentsafety.models to com.azure.core, com.fasterxml.jackson.databind;
 }
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java
index cab2a89dc02f..adbeb7a2fa84 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsAsyncClient.java
@@ -40,28 +40,14 @@ public final class DeploymentEnvironmentsAsyncClient {
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -103,28 +89,14 @@ public PagedFlux listAllEnvironments(String projectName, RequestOpti
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -151,8 +123,7 @@ public PagedFlux listAllEnvironments(String projectName, RequestOpti
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -168,9 +139,7 @@ public PagedFlux listEnvironments(String projectName, String userId, /** * Gets an environment. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -197,8 +166,7 @@ public PagedFlux listEnvironments(String projectName, String userId,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -216,9 +184,7 @@ public Mono> getEnvironmentWithResponse(String projectName, /** * Creates or updates an environment. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -243,9 +209,7 @@ public Mono> getEnvironmentWithResponse(String projectName,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -272,8 +236,7 @@ public Mono> getEnvironmentWithResponse(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param body Represents an environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -293,9 +256,7 @@ public PollerFlux beginCreateOrUpdateEnvironment(String /** * Deletes an environment and all its associated resources. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -314,8 +275,7 @@ public PollerFlux beginCreateOrUpdateEnvironment(String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -333,28 +293,14 @@ public PollerFlux beginDeleteEnvironment(String projectName, S /** * Lists all of the catalogs available for a project. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -377,9 +323,7 @@ public PagedFlux listCatalogs(String projectName, RequestOptions req
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -393,8 +337,7 @@ public PagedFlux listCatalogs(String projectName, RequestOptions req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the specified catalog within the project along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the specified catalog within the project along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -405,28 +348,14 @@ public Mono> getCatalogWithResponse(String projectName, Str
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -468,28 +397,14 @@ public PagedFlux listEnvironmentDefinitions(String projectName, Requ
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -533,9 +448,7 @@ public PagedFlux listEnvironmentDefinitionsByCatalog(String projectN
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -569,8 +482,7 @@ public PagedFlux listEnvironmentDefinitionsByCatalog(String projectN
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return an environment definition from a catalog along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return an environment definition from a catalog along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -582,28 +494,14 @@ public Mono> getEnvironmentDefinitionWithResponse(String pr
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java
index 6146c4ec86e8..39102d37509d 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClient.java
@@ -39,28 +39,14 @@ public final class DeploymentEnvironmentsClient {
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -102,28 +88,14 @@ public PagedIterable listAllEnvironments(String projectName, Request
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -150,8 +122,7 @@ public PagedIterable listAllEnvironments(String projectName, Request
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -168,9 +139,7 @@ public PagedIterable listEnvironments(String projectName, String use /** * Gets an environment. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -197,8 +166,7 @@ public PagedIterable listEnvironments(String projectName, String use
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -216,9 +184,7 @@ public Response getEnvironmentWithResponse(String projectName, Strin /** * Creates or updates an environment. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -243,9 +209,7 @@ public Response getEnvironmentWithResponse(String projectName, Strin
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -272,8 +236,7 @@ public Response getEnvironmentWithResponse(String projectName, Strin
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param body Represents an environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -293,9 +256,7 @@ public SyncPoller beginCreateOrUpdateEnvironment(String /** * Deletes an environment and all its associated resources. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -314,8 +275,7 @@ public SyncPoller beginCreateOrUpdateEnvironment(String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -333,28 +293,14 @@ public SyncPoller beginDeleteEnvironment(String projectName, S /** * Lists all of the catalogs available for a project. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -377,9 +323,7 @@ public PagedIterable listCatalogs(String projectName, RequestOptions
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -404,28 +348,14 @@ public Response getCatalogWithResponse(String projectName, String ca
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -467,28 +397,14 @@ public PagedIterable listEnvironmentDefinitions(String projectName,
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -532,9 +448,7 @@ public PagedIterable listEnvironmentDefinitionsByCatalog(String proj
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -580,28 +494,14 @@ public Response getEnvironmentDefinitionWithResponse(String projectN
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java
index 9cdd4a0e21c5..d0f2423c01d9 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DeploymentEnvironmentsClientBuilder.java
@@ -21,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -284,7 +284,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -292,12 +293,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java
index ea05ea7369bc..ddec8c8fe54e 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesAsyncClient.java
@@ -41,34 +41,15 @@ public final class DevBoxesAsyncClient {
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -117,9 +98,7 @@ public PagedFlux listPools(String projectName, RequestOptions reques
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -170,34 +149,15 @@ public Mono> getPoolWithResponse(String projectName, String
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -225,9 +185,7 @@ public PagedFlux listSchedules(String projectName, String poolName,
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -257,34 +215,15 @@ public Mono> getScheduleWithResponse(String projectName, St
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -347,34 +286,15 @@ public PagedFlux listAllDevBoxes(RequestOptions requestOptions) {
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -422,8 +342,7 @@ public PagedFlux listAllDevBoxes(RequestOptions requestOptions) {
      * }
      * }
* - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -439,34 +358,15 @@ public PagedFlux listAllDevBoxesByUser(String userId, RequestOptions /** * Lists Dev Boxes in the project for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -515,8 +415,7 @@ public PagedFlux listAllDevBoxesByUser(String userId, RequestOptions
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -532,9 +431,7 @@ public PagedFlux listDevBoxes(String projectName, String userId, Req /** * Gets a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -583,8 +480,7 @@ public PagedFlux listDevBoxes(String projectName, String userId, Req
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -602,9 +498,7 @@ public Mono> getDevBoxWithResponse(String projectName, Stri /** * Creates or replaces a Dev Box. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -651,9 +545,7 @@ public Mono> getDevBoxWithResponse(String projectName, Stri
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -702,8 +594,7 @@ public Mono> getDevBoxWithResponse(String projectName, Stri
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param body Represents a environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -722,9 +613,7 @@ public PollerFlux beginCreateDevBox(String projectName, /** * Deletes a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -743,8 +632,7 @@ public PollerFlux beginCreateDevBox(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -762,9 +650,7 @@ public PollerFlux beginDeleteDevBox(String projectName, String /** * Starts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -783,8 +669,7 @@ public PollerFlux beginDeleteDevBox(String projectName, String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -802,28 +687,14 @@ public PollerFlux beginStartDevBox(String projectName, S /** * Stops a Dev Box. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -842,8 +713,7 @@ public PollerFlux beginStartDevBox(String projectName, S
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -861,9 +731,7 @@ public PollerFlux beginStopDevBox(String projectName, St /** * Restarts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -882,8 +750,7 @@ public PollerFlux beginStopDevBox(String projectName, St
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -901,9 +768,7 @@ public PollerFlux beginRestartDevBox(String projectName, /** * Gets RDP Connection info. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     webUrl: String (Optional)
@@ -912,8 +777,7 @@ public PollerFlux beginRestartDevBox(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -931,9 +795,7 @@ public Mono> getRemoteConnectionWithResponse(String project /** * Lists actions on a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -947,8 +809,7 @@ public Mono> getRemoteConnectionWithResponse(String project
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -966,9 +827,7 @@ public PagedFlux listDevBoxActions(String projectName, String userId /** * Gets an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -982,8 +841,7 @@ public PagedFlux listDevBoxActions(String projectName, String userId
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1005,8 +863,7 @@ public Mono> getDevBoxActionWithResponse(String projectName * Skips an occurrence of an action. * * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1026,9 +883,7 @@ public Mono> skipActionWithResponse(String projectName, String us /** * Delays the occurrence of an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1042,8 +897,7 @@ public Mono> skipActionWithResponse(String projectName, String us
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. @@ -1052,8 +906,7 @@ public Mono> skipActionWithResponse(String projectName, String us * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return an action which will take place on a Dev Box along with {@link Response} on successful completion of - * {@link Mono}. + * @return an action which will take place on a Dev Box along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -1065,9 +918,7 @@ public Mono> delayActionWithResponse(String projectName, St /** * Delays all actions. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1097,8 +948,7 @@ public Mono> delayActionWithResponse(String projectName, St
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java index d5be92ade140..63221ed04e61 100644 --- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java +++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClient.java @@ -40,34 +40,15 @@ public final class DevBoxesClient { /** * Lists available pools. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -116,9 +97,7 @@ public PagedIterable listPools(String projectName, RequestOptions re
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -169,34 +148,15 @@ public Response getPoolWithResponse(String projectName, String poolN
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -224,9 +184,7 @@ public PagedIterable listSchedules(String projectName, String poolNa
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -256,34 +214,15 @@ public Response getScheduleWithResponse(String projectName, String p
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -346,34 +285,15 @@ public PagedIterable listAllDevBoxes(RequestOptions requestOptions)
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -421,8 +341,7 @@ public PagedIterable listAllDevBoxes(RequestOptions requestOptions)
      * }
      * }
* - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -438,34 +357,15 @@ public PagedIterable listAllDevBoxesByUser(String userId, RequestOpt /** * Lists Dev Boxes in the project for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -514,8 +414,7 @@ public PagedIterable listAllDevBoxesByUser(String userId, RequestOpt
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -531,9 +430,7 @@ public PagedIterable listDevBoxes(String projectName, String userId, /** * Gets a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -582,8 +479,7 @@ public PagedIterable listDevBoxes(String projectName, String userId,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -601,9 +497,7 @@ public Response getDevBoxWithResponse(String projectName, String use /** * Creates or replaces a Dev Box. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -650,9 +544,7 @@ public Response getDevBoxWithResponse(String projectName, String use
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -701,8 +593,7 @@ public Response getDevBoxWithResponse(String projectName, String use
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param body Represents a environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -721,9 +612,7 @@ public SyncPoller beginCreateDevBox(String projectName, /** * Deletes a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -742,8 +631,7 @@ public SyncPoller beginCreateDevBox(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -761,9 +649,7 @@ public SyncPoller beginDeleteDevBox(String projectName, String /** * Starts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -782,8 +668,7 @@ public SyncPoller beginDeleteDevBox(String projectName, String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -801,28 +686,14 @@ public SyncPoller beginStartDevBox(String projectName, S /** * Stops a Dev Box. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -841,8 +712,7 @@ public SyncPoller beginStartDevBox(String projectName, S
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -860,9 +730,7 @@ public SyncPoller beginStopDevBox(String projectName, St /** * Restarts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -881,8 +749,7 @@ public SyncPoller beginStopDevBox(String projectName, St
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -900,9 +767,7 @@ public SyncPoller beginRestartDevBox(String projectName, /** * Gets RDP Connection info. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     webUrl: String (Optional)
@@ -911,8 +776,7 @@ public SyncPoller beginRestartDevBox(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -930,9 +794,7 @@ public Response getRemoteConnectionWithResponse(String projectName, /** * Lists actions on a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -946,8 +808,7 @@ public Response getRemoteConnectionWithResponse(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -965,9 +826,7 @@ public PagedIterable listDevBoxActions(String projectName, String us /** * Gets an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -981,8 +840,7 @@ public PagedIterable listDevBoxActions(String projectName, String us
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1004,8 +862,7 @@ public Response getDevBoxActionWithResponse(String projectName, Stri * Skips an occurrence of an action. * * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1024,9 +881,7 @@ public Response skipActionWithResponse(String projectName, String userId, /** * Delays the occurrence of an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1040,8 +895,7 @@ public Response skipActionWithResponse(String projectName, String userId,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. @@ -1062,9 +916,7 @@ public Response delayActionWithResponse(String projectName, String u /** * Delays all actions. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1094,8 +946,7 @@ public Response delayActionWithResponse(String projectName, String u
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java index 74096ac3af6d..ee4c37381983 100644 --- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java +++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevBoxesClientBuilder.java @@ -21,8 +21,8 @@ import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; -import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.http.policy.HttpPolicyProviders; import com.azure.core.http.policy.RequestIdPolicy; @@ -284,7 +284,8 @@ private HttpPipeline createHttpPipeline() { if (headers.getSize() > 0) { policies.add(new AddHeadersPolicy(headers)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .forEach(p -> policies.add(p)); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); @@ -292,12 +293,15 @@ private HttpPipeline createHttpPipeline() { if (tokenCredential != null) { policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(localHttpLogOptions)); HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient).clientOptions(localClientOptions).build(); + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); return httpPipeline; } diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java index fbc50555d967..7098bcda4088 100644 --- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java +++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterAsyncClient.java @@ -39,34 +39,15 @@ public final class DevCenterAsyncClient { /** * Lists all projects. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -90,9 +71,7 @@ public PagedFlux listProjects(RequestOptions requestOptions) {
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java
index 8370a41568d0..7ef2a5cf3c8f 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClient.java
@@ -38,34 +38,15 @@ public final class DevCenterClient {
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -89,9 +70,7 @@ public PagedIterable listProjects(RequestOptions requestOptions) {
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java
index 3962552410ca..d2759d9c3a00 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/DevCenterClientBuilder.java
@@ -21,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -284,7 +284,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -292,12 +293,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java
index c803e09cc647..f92a68fd5e15 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DeploymentEnvironmentsClientImpl.java
@@ -158,8 +158,7 @@ public DeploymentEnvironmentsClientImpl(HttpPipeline httpPipeline, SerializerAda
     }
 
     /**
-     * The interface defining all the services for DeploymentEnvironmentsClient to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for DeploymentEnvironmentsClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "DeploymentEnvironmen")
@@ -523,28 +522,14 @@ Response listEnvironmentTypesNextSync(
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -576,8 +561,7 @@ Response listEnvironmentTypesNextSync(
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the environment list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listAllEnvironmentsSinglePageAsync(String projectName,
@@ -592,28 +576,14 @@ private Mono> listAllEnvironmentsSinglePageAsync(Strin
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -658,28 +628,14 @@ public PagedFlux listAllEnvironmentsAsync(String projectName, Reques
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -724,28 +680,14 @@ private PagedResponse listAllEnvironmentsSinglePage(String projectNa
 
     /**
      * Lists the environments for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -790,28 +732,14 @@ public PagedIterable listAllEnvironments(String projectName, Request
 
     /**
      * Lists the environments for a project and user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -838,15 +766,13 @@ public PagedIterable listAllEnvironments(String projectName, Request
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return results of the environment list operation along with {@link PagedResponse} on successful completion of - * {@link Mono}. + * @return results of the environment list operation along with {@link PagedResponse} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> listEnvironmentsSinglePageAsync(String projectName, String userId, @@ -861,28 +787,14 @@ private Mono> listEnvironmentsSinglePageAsync(String p /** * Lists the environments for a project and user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -909,8 +821,7 @@ private Mono> listEnvironmentsSinglePageAsync(String p
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -930,28 +841,14 @@ public PagedFlux listEnvironmentsAsync(String projectName, String us /** * Lists the environments for a project and user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -978,8 +875,7 @@ public PagedFlux listEnvironmentsAsync(String projectName, String us
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -999,28 +895,14 @@ private PagedResponse listEnvironmentsSinglePage(String projectName, /** * Lists the environments for a project and user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1047,8 +929,7 @@ private PagedResponse listEnvironmentsSinglePage(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -1068,9 +949,7 @@ public PagedIterable listEnvironments(String projectName, String use /** * Gets an environment. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1097,8 +976,7 @@ public PagedIterable listEnvironments(String projectName, String use
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1118,9 +996,7 @@ public Mono> getEnvironmentWithResponseAsync(String project /** * Gets an environment. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1147,8 +1023,7 @@ public Mono> getEnvironmentWithResponseAsync(String project
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1167,9 +1042,7 @@ public Response getEnvironmentWithResponse(String projectName, Strin /** * Creates or updates an environment. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1194,9 +1067,7 @@ public Response getEnvironmentWithResponse(String projectName, Strin
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1223,8 +1094,7 @@ public Response getEnvironmentWithResponse(String projectName, Strin
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param body Represents an environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1245,9 +1115,7 @@ private Mono> createOrUpdateEnvironmentWithResponseAsync(St /** * Creates or updates an environment. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1272,9 +1140,7 @@ private Mono> createOrUpdateEnvironmentWithResponseAsync(St
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1301,8 +1167,7 @@ private Mono> createOrUpdateEnvironmentWithResponseAsync(St
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param body Represents an environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1322,9 +1187,7 @@ private Response createOrUpdateEnvironmentWithResponse(String projec /** * Creates or updates an environment. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1349,9 +1212,7 @@ private Response createOrUpdateEnvironmentWithResponse(String projec
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1378,8 +1239,7 @@ private Response createOrUpdateEnvironmentWithResponse(String projec
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param body Represents an environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1397,7 +1257,8 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -1405,9 +1266,7 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St /** * Creates or updates an environment. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1432,9 +1291,7 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -1461,8 +1318,7 @@ public PollerFlux beginCreateOrUpdateEnvironmentAsync(St
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param body Represents an environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1480,7 +1336,8 @@ public SyncPoller beginCreateOrUpdateEnvironment(String requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -1488,9 +1345,7 @@ public SyncPoller beginCreateOrUpdateEnvironment(String /** * Deletes an environment and all its associated resources. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1509,16 +1364,14 @@ public SyncPoller beginCreateOrUpdateEnvironment(String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the current status of an async operation along with {@link Response} on successful completion of - * {@link Mono}. + * @return the current status of an async operation along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> deleteEnvironmentWithResponseAsync(String projectName, String userId, @@ -1531,9 +1384,7 @@ private Mono> deleteEnvironmentWithResponseAsync(String pro /** * Deletes an environment and all its associated resources. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1552,8 +1403,7 @@ private Mono> deleteEnvironmentWithResponseAsync(String pro
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1572,9 +1422,7 @@ private Response deleteEnvironmentWithResponse(String projectName, S /** * Deletes an environment and all its associated resources. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1593,8 +1441,7 @@ private Response deleteEnvironmentWithResponse(String projectName, S
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1610,7 +1457,8 @@ public PollerFlux beginDeleteEnvironmentAsync(String projectNa () -> this.deleteEnvironmentWithResponseAsync(projectName, userId, environmentName, requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); @@ -1618,9 +1466,7 @@ public PollerFlux beginDeleteEnvironmentAsync(String projectNa /** * Deletes an environment and all its associated resources. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1639,8 +1485,7 @@ public PollerFlux beginDeleteEnvironmentAsync(String projectNa
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param environmentName The name of the environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1656,7 +1501,8 @@ public SyncPoller beginDeleteEnvironment(String projectName, S () -> this.deleteEnvironmentWithResponse(projectName, userId, environmentName, requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); @@ -1664,28 +1510,14 @@ public SyncPoller beginDeleteEnvironment(String projectName, S /** * Lists all of the catalogs available for a project. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1698,8 +1530,7 @@ public SyncPoller beginDeleteEnvironment(String projectName, S
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the catalog list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the catalog list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listCatalogsSinglePageAsync(String projectName,
@@ -1714,28 +1545,14 @@ private Mono> listCatalogsSinglePageAsync(String proje
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1761,28 +1578,14 @@ public PagedFlux listCatalogsAsync(String projectName, RequestOption
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1808,28 +1611,14 @@ private PagedResponse listCatalogsSinglePage(String projectName, Req
 
     /**
      * Lists all of the catalogs available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1855,9 +1644,7 @@ public PagedIterable listCatalogs(String projectName, RequestOptions
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1871,8 +1658,7 @@ public PagedIterable listCatalogs(String projectName, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the specified catalog within the project along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the specified catalog within the project along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getCatalogWithResponseAsync(String projectName, String catalogName,
@@ -1884,9 +1670,7 @@ public Mono> getCatalogWithResponseAsync(String projectName
 
     /**
      * Gets the specified catalog within the project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1912,28 +1696,14 @@ public Response getCatalogWithResponse(String projectName, String ca
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1965,8 +1735,7 @@ public Response getCatalogWithResponse(String projectName, String ca
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment definition list operation along with {@link PagedResponse} on successful
-     * completion of {@link Mono}.
+     * @return results of the environment definition list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentDefinitionsSinglePageAsync(String projectName,
@@ -1981,28 +1750,14 @@ private Mono> listEnvironmentDefinitionsSinglePageAsyn
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2047,28 +1802,14 @@ public PagedFlux listEnvironmentDefinitionsAsync(String projectName,
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2114,28 +1855,14 @@ private PagedResponse listEnvironmentDefinitionsSinglePage(String pr
 
     /**
      * Lists all environment definitions available for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2180,28 +1907,14 @@ public PagedIterable listEnvironmentDefinitions(String projectName,
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2234,8 +1947,7 @@ public PagedIterable listEnvironmentDefinitions(String projectName,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment definition list operation along with {@link PagedResponse} on successful
-     * completion of {@link Mono}.
+     * @return results of the environment definition list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentDefinitionsByCatalogSinglePageAsync(String projectName,
@@ -2250,28 +1962,14 @@ private Mono> listEnvironmentDefinitionsByCatalogSingl
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2319,28 +2017,14 @@ public PagedFlux listEnvironmentDefinitionsByCatalogAsync(String pro
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2387,28 +2071,14 @@ private PagedResponse listEnvironmentDefinitionsByCatalogSinglePage(
 
     /**
      * Lists all environment definitions available within a catalog.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2456,9 +2126,7 @@ public PagedIterable listEnvironmentDefinitionsByCatalog(String proj
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2492,8 +2160,7 @@ public PagedIterable listEnvironmentDefinitionsByCatalog(String proj
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return an environment definition from a catalog along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return an environment definition from a catalog along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getEnvironmentDefinitionWithResponseAsync(String projectName, String catalogName,
@@ -2506,9 +2173,7 @@ public Mono> getEnvironmentDefinitionWithResponseAsync(Stri
 
     /**
      * Get an environment definition from a catalog.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2554,28 +2219,14 @@ public Response getEnvironmentDefinitionWithResponse(String projectN
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2590,8 +2241,7 @@ public Response getEnvironmentDefinitionWithResponse(String projectN
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return result of the environment type list operation along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return result of the environment type list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentTypesSinglePageAsync(String projectName,
@@ -2606,28 +2256,14 @@ private Mono> listEnvironmentTypesSinglePageAsync(Stri
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2655,28 +2291,14 @@ public PagedFlux listEnvironmentTypesAsync(String projectName, Reque
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2705,28 +2327,14 @@ private PagedResponse listEnvironmentTypesSinglePage(String projectN
 
     /**
      * Lists all environment types configured for a project.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2754,9 +2362,7 @@ public PagedIterable listEnvironmentTypes(String projectName, Reques
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -2790,8 +2396,7 @@ public PagedIterable listEnvironmentTypes(String projectName, Reques
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the environment list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listAllEnvironmentsNextSinglePageAsync(String nextLink,
@@ -2805,9 +2410,7 @@ private Mono> listAllEnvironmentsNextSinglePageAsync(S
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -2855,9 +2458,7 @@ private PagedResponse listAllEnvironmentsNextSinglePage(String nextL
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -2891,8 +2492,7 @@ private PagedResponse listAllEnvironmentsNextSinglePage(String nextL
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the environment list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentsNextSinglePageAsync(String nextLink,
@@ -2907,9 +2507,7 @@ private Mono> listEnvironmentsNextSinglePageAsync(Stri
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     parameters: Object (Optional)
@@ -2956,9 +2554,7 @@ private PagedResponse listEnvironmentsNextSinglePage(String nextLink
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2973,8 +2569,7 @@ private PagedResponse listEnvironmentsNextSinglePage(String nextLink
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the catalog list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the catalog list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listCatalogsNextSinglePageAsync(String nextLink,
@@ -2989,9 +2584,7 @@ private Mono> listCatalogsNextSinglePageAsync(String n
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -3019,9 +2612,7 @@ private PagedResponse listCatalogsNextSinglePage(String nextLink, Re
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3055,8 +2646,7 @@ private PagedResponse listCatalogsNextSinglePage(String nextLink, Re
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment definition list operation along with {@link PagedResponse} on successful
-     * completion of {@link Mono}.
+     * @return results of the environment definition list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentDefinitionsNextSinglePageAsync(String nextLink,
@@ -3071,9 +2661,7 @@ private Mono> listEnvironmentDefinitionsNextSinglePage
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3121,9 +2709,7 @@ private PagedResponse listEnvironmentDefinitionsNextSinglePage(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3157,8 +2743,7 @@ private PagedResponse listEnvironmentDefinitionsNextSinglePage(Strin
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the environment definition list operation along with {@link PagedResponse} on successful
-     * completion of {@link Mono}.
+     * @return results of the environment definition list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentDefinitionsByCatalogNextSinglePageAsync(String nextLink,
@@ -3173,9 +2758,7 @@ private Mono> listEnvironmentDefinitionsByCatalogNextS
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3223,9 +2806,7 @@ private PagedResponse listEnvironmentDefinitionsByCatalogNextSingleP
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -3242,8 +2823,7 @@ private PagedResponse listEnvironmentDefinitionsByCatalogNextSingleP
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return result of the environment type list operation along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return result of the environment type list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listEnvironmentTypesNextSinglePageAsync(String nextLink,
@@ -3257,9 +2837,7 @@ private Mono> listEnvironmentTypesNextSinglePageAsync(
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java
index a76aa5cbd3b6..c70c789eac2c 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevBoxesClientImpl.java
@@ -158,8 +158,7 @@ public DevBoxesClientImpl(HttpPipeline httpPipeline, SerializerAdapter serialize
     }
 
     /**
-     * The interface defining all the services for DevBoxesClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for DevBoxesClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "DevBoxesClient")
@@ -729,34 +728,15 @@ Response delayAllActionsNextSync(@PathParam(value = "nextLink", enco
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -810,34 +790,15 @@ private Mono> listPoolsSinglePageAsync(String projectN
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -889,34 +850,15 @@ public PagedFlux listPoolsAsync(String projectName, RequestOptions r
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -968,34 +910,15 @@ private PagedResponse listPoolsSinglePage(String projectName, Reques
 
     /**
      * Lists available pools.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1047,9 +970,7 @@ public PagedIterable listPools(String projectName, RequestOptions re
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1101,9 +1022,7 @@ public Mono> getPoolWithResponseAsync(String projectName, S
 
     /**
      * Gets a pool.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1155,34 +1074,15 @@ public Response getPoolWithResponse(String projectName, String poolN
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1215,34 +1115,15 @@ private Mono> listSchedulesSinglePageAsync(String proj
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1274,34 +1155,15 @@ public PagedFlux listSchedulesAsync(String projectName, String poolN
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1333,34 +1195,15 @@ private PagedResponse listSchedulesSinglePage(String projectName, St
 
     /**
      * Lists available schedules for a pool.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1391,9 +1234,7 @@ public PagedIterable listSchedules(String projectName, String poolNa
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1425,9 +1266,7 @@ public Mono> getScheduleWithResponseAsync(String projectNam
 
     /**
      * Gets a schedule.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1458,34 +1297,15 @@ public Response getScheduleWithResponse(String projectName, String p
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1552,34 +1372,15 @@ private Mono> listAllDevBoxesSinglePageAsync(RequestOp
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1645,34 +1446,15 @@ public PagedFlux listAllDevBoxesAsync(RequestOptions requestOptions)
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1738,34 +1520,15 @@ private PagedResponse listAllDevBoxesSinglePage(RequestOptions reque
 
     /**
      * Lists Dev Boxes that the caller has access to in the DevCenter.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1831,34 +1594,15 @@ public PagedIterable listAllDevBoxes(RequestOptions requestOptions)
 
     /**
      * Lists Dev Boxes in the Dev Center for a particular user.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -1906,8 +1650,7 @@ public PagedIterable listAllDevBoxes(RequestOptions requestOptions)
      * }
      * }
* - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -1928,34 +1671,15 @@ private Mono> listAllDevBoxesByUserSinglePageAsync(Str /** * Lists Dev Boxes in the Dev Center for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2003,8 +1727,7 @@ private Mono> listAllDevBoxesByUserSinglePageAsync(Str
      * }
      * }
* - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2023,34 +1746,15 @@ public PagedFlux listAllDevBoxesByUserAsync(String userId, RequestOp /** * Lists Dev Boxes in the Dev Center for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2098,8 +1802,7 @@ public PagedFlux listAllDevBoxesByUserAsync(String userId, RequestOp
      * }
      * }
* - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2118,34 +1821,15 @@ private PagedResponse listAllDevBoxesByUserSinglePage(String userId, /** * Lists Dev Boxes in the Dev Center for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2193,8 +1877,7 @@ private PagedResponse listAllDevBoxesByUserSinglePage(String userId,
      * }
      * }
* - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2213,34 +1896,15 @@ public PagedIterable listAllDevBoxesByUser(String userId, RequestOpt /** * Lists Dev Boxes in the project for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2289,8 +1953,7 @@ public PagedIterable listAllDevBoxesByUser(String userId, RequestOpt
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2311,34 +1974,15 @@ private Mono> listDevBoxesSinglePageAsync(String proje /** * Lists Dev Boxes in the project for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2387,8 +2031,7 @@ private Mono> listDevBoxesSinglePageAsync(String proje
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2407,34 +2050,15 @@ public PagedFlux listDevBoxesAsync(String projectName, String userId /** * Lists Dev Boxes in the project for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2483,8 +2107,7 @@ public PagedFlux listDevBoxesAsync(String projectName, String userId
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2504,34 +2127,15 @@ private PagedResponse listDevBoxesSinglePage(String projectName, Str /** * Lists Dev Boxes in the project for a particular user. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2580,8 +2184,7 @@ private PagedResponse listDevBoxesSinglePage(String projectName, Str
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -2600,9 +2203,7 @@ public PagedIterable listDevBoxes(String projectName, String userId, /** * Gets a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2651,8 +2252,7 @@ public PagedIterable listDevBoxes(String projectName, String userId,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -2671,9 +2271,7 @@ public Mono> getDevBoxWithResponseAsync(String projectName, /** * Gets a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2722,8 +2320,7 @@ public Mono> getDevBoxWithResponseAsync(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -2742,9 +2339,7 @@ public Response getDevBoxWithResponse(String projectName, String use /** * Creates or replaces a Dev Box. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2791,9 +2386,7 @@ public Response getDevBoxWithResponse(String projectName, String use
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2842,8 +2435,7 @@ public Response getDevBoxWithResponse(String projectName, String use
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param body Represents a environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -2864,9 +2456,7 @@ private Mono> createDevBoxWithResponseAsync(String projectN /** * Creates or replaces a Dev Box. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2913,9 +2503,7 @@ private Mono> createDevBoxWithResponseAsync(String projectN
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -2964,8 +2552,7 @@ private Mono> createDevBoxWithResponseAsync(String projectN
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param body Represents a environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -2985,9 +2572,7 @@ private Response createDevBoxWithResponse(String projectName, String /** * Creates or replaces a Dev Box. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -3034,9 +2619,7 @@ private Response createDevBoxWithResponse(String projectName, String
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -3085,8 +2668,7 @@ private Response createDevBoxWithResponse(String projectName, String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param body Represents a environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -3103,7 +2685,8 @@ public PollerFlux beginCreateDevBoxAsync(String projectN () -> this.createDevBoxWithResponseAsync(projectName, userId, devBoxName, body, requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3111,9 +2694,7 @@ public PollerFlux beginCreateDevBoxAsync(String projectN /** * Creates or replaces a Dev Box. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -3160,9 +2741,7 @@ public PollerFlux beginCreateDevBoxAsync(String projectN
      *     localAdministrator: String(Enabled/Disabled) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -3211,8 +2790,7 @@ public PollerFlux beginCreateDevBoxAsync(String projectN
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param body Represents a environment. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -3229,7 +2807,8 @@ public SyncPoller beginCreateDevBox(String projectName, () -> this.createDevBoxWithResponse(projectName, userId, devBoxName, body, requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3237,9 +2816,7 @@ public SyncPoller beginCreateDevBox(String projectName, /** * Deletes a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3258,16 +2835,14 @@ public SyncPoller beginCreateDevBox(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the current status of an async operation along with {@link Response} on successful completion of - * {@link Mono}. + * @return the current status of an async operation along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> deleteDevBoxWithResponseAsync(String projectName, String userId, @@ -3279,9 +2854,7 @@ private Mono> deleteDevBoxWithResponseAsync(String projectN /** * Deletes a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3300,8 +2873,7 @@ private Mono> deleteDevBoxWithResponseAsync(String projectN
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3320,9 +2892,7 @@ private Response deleteDevBoxWithResponse(String projectName, String /** * Deletes a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3341,8 +2911,7 @@ private Response deleteDevBoxWithResponse(String projectName, String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3358,7 +2927,8 @@ public PollerFlux beginDeleteDevBoxAsync(String projectName, S () -> this.deleteDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); @@ -3366,9 +2936,7 @@ public PollerFlux beginDeleteDevBoxAsync(String projectName, S /** * Deletes a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3387,8 +2955,7 @@ public PollerFlux beginDeleteDevBoxAsync(String projectName, S
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3404,7 +2971,8 @@ public SyncPoller beginDeleteDevBox(String projectName, String () -> this.deleteDevBoxWithResponse(projectName, userId, devBoxName, requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(Void.class)); @@ -3412,9 +2980,7 @@ public SyncPoller beginDeleteDevBox(String projectName, String /** * Starts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3433,16 +2999,14 @@ public SyncPoller beginDeleteDevBox(String projectName, String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the current status of an async operation along with {@link Response} on successful completion of - * {@link Mono}. + * @return the current status of an async operation along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> startDevBoxWithResponseAsync(String projectName, String userId, @@ -3454,9 +3018,7 @@ private Mono> startDevBoxWithResponseAsync(String projectNa /** * Starts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3475,8 +3037,7 @@ private Mono> startDevBoxWithResponseAsync(String projectNa
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3495,9 +3056,7 @@ private Response startDevBoxWithResponse(String projectName, String /** * Starts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3516,8 +3075,7 @@ private Response startDevBoxWithResponse(String projectName, String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3533,7 +3091,8 @@ public PollerFlux beginStartDevBoxAsync(String projectNa () -> this.startDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3541,9 +3100,7 @@ public PollerFlux beginStartDevBoxAsync(String projectNa /** * Starts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3562,8 +3119,7 @@ public PollerFlux beginStartDevBoxAsync(String projectNa
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3579,7 +3135,8 @@ public SyncPoller beginStartDevBox(String projectName, S () -> this.startDevBoxWithResponse(projectName, userId, devBoxName, requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3587,28 +3144,14 @@ public SyncPoller beginStartDevBox(String projectName, S /** * Stops a Dev Box. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3627,16 +3170,14 @@ public SyncPoller beginStartDevBox(String projectName, S
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the current status of an async operation along with {@link Response} on successful completion of - * {@link Mono}. + * @return the current status of an async operation along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> stopDevBoxWithResponseAsync(String projectName, String userId, String devBoxName, @@ -3648,28 +3189,14 @@ private Mono> stopDevBoxWithResponseAsync(String projectNam /** * Stops a Dev Box. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3688,8 +3215,7 @@ private Mono> stopDevBoxWithResponseAsync(String projectNam
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3708,28 +3234,14 @@ private Response stopDevBoxWithResponse(String projectName, String u /** * Stops a Dev Box. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3748,8 +3260,7 @@ private Response stopDevBoxWithResponse(String projectName, String u
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3765,7 +3276,8 @@ public PollerFlux beginStopDevBoxAsync(String projectNam () -> this.stopDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3773,28 +3285,14 @@ public PollerFlux beginStopDevBoxAsync(String projectNam /** * Stops a Dev Box. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
Query Parameters
NameTypeRequiredDescription
hibernateBooleanNoOptional parameter to hibernate the dev box.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3813,8 +3311,7 @@ public PollerFlux beginStopDevBoxAsync(String projectNam
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3830,7 +3327,8 @@ public SyncPoller beginStopDevBox(String projectName, St () -> this.stopDevBoxWithResponse(projectName, userId, devBoxName, requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3838,9 +3336,7 @@ public SyncPoller beginStopDevBox(String projectName, St /** * Restarts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3859,16 +3355,14 @@ public SyncPoller beginStopDevBox(String projectName, St
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the current status of an async operation along with {@link Response} on successful completion of - * {@link Mono}. + * @return the current status of an async operation along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) private Mono> restartDevBoxWithResponseAsync(String projectName, String userId, @@ -3880,9 +3374,7 @@ private Mono> restartDevBoxWithResponseAsync(String project /** * Restarts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3901,8 +3393,7 @@ private Mono> restartDevBoxWithResponseAsync(String project
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3921,9 +3412,7 @@ private Response restartDevBoxWithResponse(String projectName, Strin /** * Restarts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3942,8 +3431,7 @@ private Response restartDevBoxWithResponse(String projectName, Strin
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -3959,7 +3447,8 @@ public PollerFlux beginRestartDevBoxAsync(String project () -> this.restartDevBoxWithResponseAsync(projectName, userId, devBoxName, requestOptions), new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -3967,9 +3456,7 @@ public PollerFlux beginRestartDevBoxAsync(String project /** * Restarts a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3988,8 +3475,7 @@ public PollerFlux beginRestartDevBoxAsync(String project
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4005,7 +3491,8 @@ public SyncPoller beginRestartDevBox(String projectName, () -> this.restartDevBoxWithResponse(projectName, userId, devBoxName, requestOptions), new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline()) .setEndpoint("{endpoint}".replace("{endpoint}", this.getEndpoint())) - .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext() + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() : Context.NONE) .setServiceVersion(this.getServiceVersion().getVersion())), TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); @@ -4013,9 +3500,7 @@ public SyncPoller beginRestartDevBox(String projectName, /** * Gets RDP Connection info. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     webUrl: String (Optional)
@@ -4024,8 +3509,7 @@ public SyncPoller beginRestartDevBox(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4044,9 +3528,7 @@ public Mono> getRemoteConnectionWithResponseAsync(String pr /** * Gets RDP Connection info. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     webUrl: String (Optional)
@@ -4055,8 +3537,7 @@ public Mono> getRemoteConnectionWithResponseAsync(String pr
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4075,9 +3556,7 @@ public Response getRemoteConnectionWithResponse(String projectName, /** * Lists actions on a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4091,8 +3570,7 @@ public Response getRemoteConnectionWithResponse(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4114,9 +3592,7 @@ private Mono> listDevBoxActionsSinglePageAsync(String /** * Lists actions on a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4130,8 +3606,7 @@ private Mono> listDevBoxActionsSinglePageAsync(String
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4152,9 +3627,7 @@ public PagedFlux listDevBoxActionsAsync(String projectName, String u /** * Lists actions on a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4168,8 +3641,7 @@ public PagedFlux listDevBoxActionsAsync(String projectName, String u
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4191,9 +3663,7 @@ private PagedResponse listDevBoxActionsSinglePage(String projectName /** * Lists actions on a Dev Box. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4207,8 +3677,7 @@ private PagedResponse listDevBoxActionsSinglePage(String projectName
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -4229,9 +3698,7 @@ public PagedIterable listDevBoxActions(String projectName, String us /** * Gets an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4245,8 +3712,7 @@ public PagedIterable listDevBoxActions(String projectName, String us
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4267,9 +3733,7 @@ public Mono> getDevBoxActionWithResponseAsync(String projec /** * Gets an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4283,8 +3747,7 @@ public Mono> getDevBoxActionWithResponseAsync(String projec
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4306,8 +3769,7 @@ public Response getDevBoxActionWithResponse(String projectName, Stri * Skips an occurrence of an action. * * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4330,8 +3792,7 @@ public Mono> skipActionWithResponseAsync(String projectName, Stri * Skips an occurrence of an action. * * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4351,9 +3812,7 @@ public Response skipActionWithResponse(String projectName, String userId, /** * Delays the occurrence of an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4367,8 +3826,7 @@ public Response skipActionWithResponse(String projectName, String userId,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. @@ -4377,8 +3835,7 @@ public Response skipActionWithResponse(String projectName, String userId, * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return an action which will take place on a Dev Box along with {@link Response} on successful completion of - * {@link Mono}. + * @return an action which will take place on a Dev Box along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> delayActionWithResponseAsync(String projectName, String userId, String devBoxName, @@ -4391,9 +3848,7 @@ public Mono> delayActionWithResponseAsync(String projectNam /** * Delays the occurrence of an action. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4407,8 +3862,7 @@ public Mono> delayActionWithResponseAsync(String projectNam
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param actionName The name of an action that will take place on a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. @@ -4429,9 +3883,7 @@ public Response delayActionWithResponse(String projectName, String u /** * Delays all actions. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4461,8 +3913,7 @@ public Response delayActionWithResponse(String projectName, String u
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4485,9 +3936,7 @@ private Mono> delayAllActionsSinglePageAsync(String pr /** * Delays all actions. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4517,8 +3966,7 @@ private Mono> delayAllActionsSinglePageAsync(String pr
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4541,9 +3989,7 @@ public PagedFlux delayAllActionsAsync(String projectName, String use /** * Delays all actions. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4573,8 +4019,7 @@ public PagedFlux delayAllActionsAsync(String projectName, String use
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4597,9 +4042,7 @@ private PagedResponse delayAllActionsSinglePage(String projectName, /** * Delays all actions. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4629,8 +4072,7 @@ private PagedResponse delayAllActionsSinglePage(String projectName,
      * }
* * @param projectName The DevCenter Project upon which to execute operations. - * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication - * context. + * @param userId The AAD object id of the user. If value is 'me', the identity is taken from the authentication context. * @param devBoxName The name of a Dev Box. * @param delayUntil The time to delay the Dev Box action or actions until. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -4653,9 +4095,7 @@ public PagedIterable delayAllActions(String projectName, String user /** * Get the next page of items. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4711,9 +4151,7 @@ private Mono> listPoolsNextSinglePageAsync(String next
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4767,9 +4205,7 @@ private PagedResponse listPoolsNextSinglePage(String nextLink, Reque
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4803,9 +4239,7 @@ private Mono> listSchedulesNextSinglePageAsync(String
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4837,9 +4271,7 @@ private PagedResponse listSchedulesNextSinglePage(String nextLink, R
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4910,9 +4342,7 @@ private Mono> listAllDevBoxesNextSinglePageAsync(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -4981,9 +4411,7 @@ private PagedResponse listAllDevBoxesNextSinglePage(String nextLink,
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5053,9 +4481,7 @@ private Mono> listAllDevBoxesByUserNextSinglePageAsync
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5125,9 +4551,7 @@ private PagedResponse listAllDevBoxesByUserNextSinglePage(String nex
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5198,9 +4622,7 @@ private Mono> listDevBoxesNextSinglePageAsync(String n
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5269,9 +4691,7 @@ private PagedResponse listDevBoxesNextSinglePage(String nextLink, Re
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5307,9 +4727,7 @@ private Mono> listDevBoxActionsNextSinglePageAsync(Str
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5343,9 +4761,7 @@ private PagedResponse listDevBoxActionsNextSinglePage(String nextLin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -5397,9 +4813,7 @@ private Mono> delayAllActionsNextSinglePageAsync(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java
index c752754c2de2..9b656f07e502 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/com/azure/developer/devcenter/implementation/DevCenterClientImpl.java
@@ -146,8 +146,7 @@ public DevCenterClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializ
     }
 
     /**
-     * The interface defining all the services for DevCenterClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for DevCenterClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "DevCenterClient")
@@ -215,34 +214,15 @@ Response listProjectsNextSync(@PathParam(value = "nextLink", encoded
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -256,8 +236,7 @@ Response listProjectsNextSync(@PathParam(value = "nextLink", encoded
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the project list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the project list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listProjectsSinglePageAsync(RequestOptions requestOptions) {
@@ -271,34 +250,15 @@ private Mono> listProjectsSinglePageAsync(RequestOptio
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -325,34 +285,15 @@ public PagedFlux listProjectsAsync(RequestOptions requestOptions) {
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -379,34 +320,15 @@ private PagedResponse listProjectsSinglePage(RequestOptions requestO
 
     /**
      * Lists all projects.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
Query Parameters
NameTypeRequiredDescription
filterStringNoAn OData filter clause to apply to the operation.
topIntegerNoThe maximum number of resources to return from the operation. Example: 'top=10'.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -433,9 +355,7 @@ public PagedIterable listProjects(RequestOptions requestOptions) {
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -461,9 +381,7 @@ public Mono> getProjectWithResponseAsync(String projectName
 
     /**
      * Gets a project.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -489,9 +407,7 @@ public Response getProjectWithResponse(String projectName, RequestOp
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
@@ -508,8 +424,7 @@ public Response getProjectWithResponse(String projectName, RequestOp
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return results of the project list operation along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return results of the project list operation along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listProjectsNextSinglePageAsync(String nextLink,
@@ -524,9 +439,7 @@ private Mono> listProjectsNextSinglePageAsync(String n
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     name: String (Required)
diff --git a/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java b/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java
index 1f5da06735a2..0cd84ce11065 100644
--- a/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java
+++ b/sdk/devcenter/azure-developer-devcenter/src/main/java/module-info.java
@@ -4,5 +4,6 @@
 
 module com.azure.developer.devcenter {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.developer.devcenter;
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java
index a7c3e1826c8f..4dadb814e1d5 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationAsyncClient.java
@@ -58,9 +58,7 @@ public final class DocumentIntelligenceAdministrationAsyncClient {
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -97,9 +95,7 @@ public PollerFlux beginBuildDocumentModel(BinaryData bui
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -133,9 +129,7 @@ public PollerFlux beginComposeModel(BinaryData composeRe
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -145,9 +139,7 @@ public PollerFlux beginComposeModel(BinaryData composeRe
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -177,9 +169,7 @@ public Mono> authorizeModelCopyWithResponse(BinaryData auth
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -209,9 +199,7 @@ public PollerFlux beginCopyModelTo(String modelId, Binar
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -277,9 +265,7 @@ public Mono> getModelWithResponse(String modelId, RequestOp
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -361,9 +347,7 @@ public Mono> deleteModelWithResponse(String modelId, RequestOptio
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     customDocumentModels (Required): {
@@ -383,8 +367,7 @@ public Mono> deleteModelWithResponse(String modelId, RequestOptio
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return general information regarding the current resource along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return general information regarding the current resource along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -394,11 +377,10 @@ public Mono> getResourceInfoWithResponse(RequestOptions req
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -441,11 +423,10 @@ public Mono> getOperationWithResponse(String operationId, R
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -487,9 +468,7 @@ public PagedFlux listOperations(RequestOptions requestOptions) {
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -528,9 +507,7 @@ public PollerFlux beginBuildClassifier(BinaryData buildR
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -568,8 +545,7 @@ public PollerFlux beginBuildClassifier(BinaryData buildR
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return detailed document classifier information along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return detailed document classifier information along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -579,9 +555,7 @@ public Mono> getClassifierWithResponse(String classifierId,
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -705,7 +679,8 @@ public Mono authorizeModelCopy(AuthorizeCopyRequest authorize
         // Generated convenience method for authorizeModelCopyWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return authorizeModelCopyWithResponse(BinaryData.fromObject(authorizeCopyRequest), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(CopyAuthorization.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CopyAuthorization.class));
     }
 
     /**
@@ -769,12 +744,14 @@ public PagedFlux listModels() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listModels(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(DocumentModelDetails.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
@@ -858,11 +835,13 @@ public PagedFlux listOperations() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listOperations(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(OperationDetails.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -928,12 +907,14 @@ public PagedFlux listClassifiers() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listClassifiers(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux
                 .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                     pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                    pagedResponse.getValue().stream()
+                    pagedResponse.getValue()
+                        .stream()
                         .map(protocolMethodData -> protocolMethodData.toObject(DocumentClassifierDetails.class))
                         .collect(Collectors.toList()),
                     pagedResponse.getContinuationToken(), null));
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java
index ed0a01190682..0bece2079f93 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClient.java
@@ -52,9 +52,7 @@ public final class DocumentIntelligenceAdministrationClient {
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -91,9 +89,7 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -127,9 +123,7 @@ public SyncPoller beginComposeModel(BinaryData composeRe
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -139,9 +133,7 @@ public SyncPoller beginComposeModel(BinaryData composeRe
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -171,9 +163,7 @@ public Response authorizeModelCopyWithResponse(BinaryData authorizeC
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -203,9 +193,7 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -271,9 +259,7 @@ public Response getModelWithResponse(String modelId, RequestOptions
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -355,9 +341,7 @@ public Response deleteModelWithResponse(String modelId, RequestOptions req
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     customDocumentModels (Required): {
@@ -387,11 +371,10 @@ public Response getResourceInfoWithResponse(RequestOptions requestOp
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -434,11 +417,10 @@ public Response getOperationWithResponse(String operationId, Request
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -480,9 +462,7 @@ public PagedIterable listOperations(RequestOptions requestOptions) {
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -521,9 +501,7 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -571,9 +549,7 @@ public Response getClassifierWithResponse(String classifierId, Reque
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java
index 4baf4386cb7a..a548eda5a9cf 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAdministrationClientBuilder.java
@@ -24,8 +24,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -310,7 +310,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -321,12 +322,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java
index ff01580c45b1..1bef8bd2bc69 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceAsyncClient.java
@@ -47,61 +47,20 @@ public final class DocumentIntelligenceAsyncClient {
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -125,35 +84,15 @@ public PollerFlux beginAnalyzeDocument(String modelId, R
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -181,12 +120,12 @@ public PollerFlux beginClassifyDocument(String classifie
      * Analyzes document with document model.
      * 
      * @param modelId Unique document model name.
-     * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9".
-     * @param locale Locale hint for text recognition and document analysis. Value may contain only
+     * @param pages List of 1-based page numbers to analyze.  Ex. "1-3,5,7-9".
+     * @param locale Locale hint for text recognition and document analysis.  Value may contain only
      * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
      * @param stringIndexType Method used to compute string offset and length.
      * @param features List of optional analysis features.
-     * @param queryFields List of additional fields to extract. Ex. "NumberOfGuests,StoreNumber".
+     * @param queryFields List of additional fields to extract.  Ex. "NumberOfGuests,StoreNumber".
      * @param outputContentFormat Format of the analyze result top-level content.
      * @param analyzeRequest Analyze request parameters.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -214,12 +153,18 @@ public PollerFlux beginAnalyzeDo
             requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false);
         }
         if (features != null) {
-            requestOptions.addQueryParam("features", features.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("features",
+                features.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (queryFields != null) {
-            requestOptions.addQueryParam("queryFields", queryFields.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("queryFields",
+                queryFields.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (outputContentFormat != null) {
             requestOptions.addQueryParam("outputContentFormat", outputContentFormat.toString(), false);
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java
index 7de7f301da67..0187431eebd0 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClient.java
@@ -47,61 +47,20 @@ public final class DocumentIntelligenceClient {
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -125,35 +84,15 @@ public SyncPoller beginAnalyzeDocument(String modelId, R
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -181,12 +120,12 @@ public SyncPoller beginClassifyDocument(String classifie
      * Analyzes document with document model.
      * 
      * @param modelId Unique document model name.
-     * @param pages List of 1-based page numbers to analyze. Ex. "1-3,5,7-9".
-     * @param locale Locale hint for text recognition and document analysis. Value may contain only
+     * @param pages List of 1-based page numbers to analyze.  Ex. "1-3,5,7-9".
+     * @param locale Locale hint for text recognition and document analysis.  Value may contain only
      * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
      * @param stringIndexType Method used to compute string offset and length.
      * @param features List of optional analysis features.
-     * @param queryFields List of additional fields to extract. Ex. "NumberOfGuests,StoreNumber".
+     * @param queryFields List of additional fields to extract.  Ex. "NumberOfGuests,StoreNumber".
      * @param outputContentFormat Format of the analyze result top-level content.
      * @param analyzeRequest Analyze request parameters.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -214,12 +153,18 @@ public SyncPoller beginAnalyzeDo
             requestOptions.addQueryParam("stringIndexType", stringIndexType.toString(), false);
         }
         if (features != null) {
-            requestOptions.addQueryParam("features", features.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("features",
+                features.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (queryFields != null) {
-            requestOptions.addQueryParam("queryFields", queryFields.stream()
-                .map(paramItemValue -> Objects.toString(paramItemValue, "")).collect(Collectors.joining(",")), false);
+            requestOptions.addQueryParam("queryFields",
+                queryFields.stream()
+                    .map(paramItemValue -> Objects.toString(paramItemValue, ""))
+                    .collect(Collectors.joining(",")),
+                false);
         }
         if (outputContentFormat != null) {
             requestOptions.addQueryParam("outputContentFormat", outputContentFormat.toString(), false);
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java
index e38af6d5b54d..68edabd7542f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/DocumentIntelligenceClientBuilder.java
@@ -24,8 +24,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -303,7 +303,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -314,12 +315,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java
index 3abf6bda7ef7..be960a82023a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceAdministrationClientImpl.java
@@ -165,8 +165,7 @@ public DocumentIntelligenceAdministrationClientImpl(HttpPipeline httpPipeline, S
     }
 
     /**
-     * The interface defining all the services for DocumentIntelligenceAdministrationClient to be used by the proxy
-     * service to perform REST calls.
+     * The interface defining all the services for DocumentIntelligenceAdministrationClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/documentintelligence")
     @ServiceInterface(name = "DocumentIntelligence")
@@ -518,9 +517,7 @@ Response listClassifiersNextSync(@PathParam(value = "nextLink", enco
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -558,9 +555,7 @@ private Mono> buildDocumentModelWithResponseAsync(BinaryData buil
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -597,9 +592,7 @@ private Response buildDocumentModelWithResponse(BinaryData buildRequest, R
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -634,7 +627,8 @@ public PollerFlux beginBuildDocumentModelAsync(BinaryDat
             () -> this.buildDocumentModelWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -642,9 +636,7 @@ public PollerFlux beginBuildDocumentModelAsync(BinaryDat
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -679,7 +671,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
             () -> this.buildDocumentModelWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -687,9 +680,7 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -724,7 +715,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
             () -> this.buildDocumentModelWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelBuildOperationDetails.class),
@@ -733,9 +725,7 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Builds a custom document analysis model.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -770,7 +760,8 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
             () -> this.buildDocumentModelWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelBuildOperationDetails.class),
@@ -779,9 +770,7 @@ public SyncPoller beginBuildDocumentModel(BinaryData bui
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -815,9 +804,7 @@ private Mono> composeModelWithResponseAsync(BinaryData composeReq
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -850,9 +837,7 @@ private Response composeModelWithResponse(BinaryData composeRequest, Reque
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -883,7 +868,8 @@ public PollerFlux beginComposeModelAsync(BinaryData comp
             () -> this.composeModelWithResponseAsync(composeRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -891,9 +877,7 @@ public PollerFlux beginComposeModelAsync(BinaryData comp
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -924,7 +908,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
             () -> this.composeModelWithResponse(composeRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -932,9 +917,7 @@ public SyncPoller beginComposeModel(BinaryData composeRe
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -965,7 +948,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
             () -> this.composeModelWithResponseAsync(composeRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelComposeOperationDetails.class),
@@ -974,9 +958,7 @@ public SyncPoller beginComposeModel(BinaryData composeRe
 
     /**
      * Creates a new document model from document types of existing document models.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1007,7 +989,8 @@ public SyncPoller beginComposeModel(BinaryData composeRe
             () -> this.composeModelWithResponse(composeRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelComposeOperationDetails.class),
@@ -1017,9 +1000,7 @@ public SyncPoller beginComposeModel(BinaryData composeRe
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1029,9 +1010,7 @@ public SyncPoller beginComposeModel(BinaryData composeRe
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1063,9 +1042,7 @@ public Mono> authorizeModelCopyWithResponseAsync(BinaryData
     /**
      * Generates authorization to copy a document model to this location with
      * specified modelId and optional description.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1075,9 +1052,7 @@ public Mono> authorizeModelCopyWithResponseAsync(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1108,9 +1083,7 @@ public Response authorizeModelCopyWithResponse(BinaryData authorizeC
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1141,9 +1114,7 @@ private Mono> copyModelToWithResponseAsync(String modelId, Binary
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1174,9 +1145,7 @@ private Response copyModelToWithResponse(String modelId, BinaryData copyTo
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1204,7 +1173,8 @@ public PollerFlux beginCopyModelToAsync(String modelId,
             () -> this.copyModelToWithResponseAsync(modelId, copyToRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -1212,9 +1182,7 @@ public PollerFlux beginCopyModelToAsync(String modelId,
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1242,7 +1210,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
             () -> this.copyModelToWithResponse(modelId, copyToRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -1250,9 +1219,7 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1280,7 +1247,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
             () -> this.copyModelToWithResponseAsync(modelId, copyToRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelCopyToOperationDetails.class),
@@ -1289,9 +1257,7 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Copies document model to the target resource, region, and modelId.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     targetResourceId: String (Required)
@@ -1319,7 +1285,8 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
             () -> this.copyModelToWithResponse(modelId, copyToRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentModelCopyToOperationDetails.class),
@@ -1328,9 +1295,7 @@ public SyncPoller beginCopyModelTo(String modelId, Binar
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1397,9 +1362,7 @@ public Mono> getModelWithResponseAsync(String modelId, Requ
 
     /**
      * Gets detailed document model information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1466,9 +1429,7 @@ public Response getModelWithResponse(String modelId, RequestOptions
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1523,8 +1484,7 @@ public Response getModelWithResponse(String modelId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DocumentModelDetails items along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return paged collection of DocumentModelDetails items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listModelsSinglePageAsync(RequestOptions requestOptions) {
@@ -1538,9 +1498,7 @@ private Mono> listModelsSinglePageAsync(RequestOptions
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1608,9 +1566,7 @@ public PagedFlux listModelsAsync(RequestOptions requestOptions) {
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1678,9 +1634,7 @@ private PagedResponse listModelsSinglePage(RequestOptions requestOpt
 
     /**
      * List all document models.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -1784,9 +1738,7 @@ public Response deleteModelWithResponse(String modelId, RequestOptions req
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     customDocumentModels (Required): {
@@ -1806,8 +1758,7 @@ public Response deleteModelWithResponse(String modelId, RequestOptions req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return general information regarding the current resource along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return general information regarding the current resource along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getResourceInfoWithResponseAsync(RequestOptions requestOptions) {
@@ -1818,9 +1769,7 @@ public Mono> getResourceInfoWithResponseAsync(RequestOption
 
     /**
      * Return information about the current resource.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     customDocumentModels (Required): {
@@ -1851,11 +1800,10 @@ public Response getResourceInfoWithResponse(RequestOptions requestOp
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -1899,11 +1847,10 @@ public Mono> getOperationWithResponseAsync(String operation
 
     /**
      * Gets operation info.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -1947,11 +1894,10 @@ public Response getOperationWithResponse(String operationId, Request
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -1983,8 +1929,7 @@ public Response getOperationWithResponse(String operationId, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of OperationDetails items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of OperationDetails items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listOperationsSinglePageAsync(RequestOptions requestOptions) {
@@ -1998,11 +1943,10 @@ private Mono> listOperationsSinglePageAsync(RequestOpt
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2047,11 +1991,10 @@ public PagedFlux listOperationsAsync(RequestOptions requestOptions)
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2096,11 +2039,10 @@ private PagedResponse listOperationsSinglePage(RequestOptions reques
 
     /**
      * Lists all operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2145,9 +2087,7 @@ public PagedIterable listOperations(RequestOptions requestOptions) {
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2187,9 +2127,7 @@ private Mono> buildClassifierWithResponseAsync(BinaryData buildRe
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2228,9 +2166,7 @@ private Response buildClassifierWithResponse(BinaryData buildRequest, Requ
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2267,7 +2203,8 @@ public PollerFlux beginBuildClassifierAsync(BinaryData b
             () -> this.buildClassifierWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -2275,9 +2212,7 @@ public PollerFlux beginBuildClassifierAsync(BinaryData b
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2314,7 +2249,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
             () -> this.buildClassifierWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -2322,9 +2258,7 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2361,7 +2295,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
             () -> this.buildClassifierWithResponseAsync(buildRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentClassifierBuildOperationDetails.class),
@@ -2370,9 +2305,7 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Builds a custom document classifier.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2409,7 +2342,8 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
             () -> this.buildClassifierWithResponse(buildRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(DocumentClassifierBuildOperationDetails.class),
@@ -2418,9 +2352,7 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2458,8 +2390,7 @@ public SyncPoller beginBuildClassifier(BinaryData buildR
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return detailed document classifier information along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return detailed document classifier information along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getClassifierWithResponseAsync(String classifierId,
@@ -2471,9 +2402,7 @@ public Mono> getClassifierWithResponseAsync(String classifi
 
     /**
      * Gets detailed document classifier information.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2522,9 +2451,7 @@ public Response getClassifierWithResponse(String classifierId, Reque
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2561,8 +2488,7 @@ public Response getClassifierWithResponse(String classifierId, Reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse} on successful
-     * completion of {@link Mono}.
+     * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listClassifiersSinglePageAsync(RequestOptions requestOptions) {
@@ -2576,9 +2502,7 @@ private Mono> listClassifiersSinglePageAsync(RequestOp
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2628,9 +2552,7 @@ public PagedFlux listClassifiersAsync(RequestOptions requestOptions)
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2680,9 +2602,7 @@ private PagedResponse listClassifiersSinglePage(RequestOptions reque
 
     /**
      * List all document classifiers.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -2768,9 +2688,7 @@ public Response deleteClassifierWithResponse(String classifierId, RequestO
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -2828,8 +2746,7 @@ public Response deleteClassifierWithResponse(String classifierId, RequestO
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DocumentModelDetails items along with {@link PagedResponse} on successful completion
-     * of {@link Mono}.
+     * @return paged collection of DocumentModelDetails items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listModelsNextSinglePageAsync(String nextLink,
@@ -2844,9 +2761,7 @@ private Mono> listModelsNextSinglePageAsync(String nex
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     modelId: String (Required)
@@ -2917,11 +2832,10 @@ private PagedResponse listModelsNextSinglePage(String nextLink, Requ
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -2956,8 +2870,7 @@ private PagedResponse listModelsNextSinglePage(String nextLink, Requ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of OperationDetails items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of OperationDetails items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listOperationsNextSinglePageAsync(String nextLink,
@@ -2972,11 +2885,10 @@ private Mono> listOperationsNextSinglePageAsync(String
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String(documentModelBuild/documentModelCompose/documentModelCopyTo/documentClassifierBuild) (Required)
      *     operationId: String (Required)
      *     status: String(notStarted/running/failed/succeeded/completed/canceled) (Required)
      *     percentCompleted: Integer (Optional)
@@ -3024,9 +2936,7 @@ private PagedResponse listOperationsNextSinglePage(String nextLink,
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
@@ -3066,8 +2976,7 @@ private PagedResponse listOperationsNextSinglePage(String nextLink,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse} on successful
-     * completion of {@link Mono}.
+     * @return paged collection of DocumentClassifierDetails items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listClassifiersNextSinglePageAsync(String nextLink,
@@ -3082,9 +2991,7 @@ private Mono> listClassifiersNextSinglePageAsync(Strin
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     classifierId: String (Required)
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java
index bfef914190e7..a4b0c6e225c7 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/implementation/DocumentIntelligenceClientImpl.java
@@ -151,8 +151,7 @@ public DocumentIntelligenceClientImpl(HttpPipeline httpPipeline, SerializerAdapt
     }
 
     /**
-     * The interface defining all the services for DocumentIntelligenceClient to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for DocumentIntelligenceClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/documentintelligence")
     @ServiceInterface(name = "DocumentIntelligence")
@@ -204,61 +203,20 @@ Response classifyDocumentSync(@HostParam("endpoint") String endpoint,
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -290,61 +248,20 @@ private Mono> analyzeDocumentWithResponseAsync(String modelId, Re
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -376,61 +293,20 @@ private Response analyzeDocumentWithResponse(String modelId, RequestOption
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -452,7 +328,8 @@ public PollerFlux beginAnalyzeDocumentAsync(String model
             () -> this.analyzeDocumentWithResponseAsync(modelId, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -460,61 +337,20 @@ public PollerFlux beginAnalyzeDocumentAsync(String model
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -536,7 +372,8 @@ public SyncPoller beginAnalyzeDocument(String modelId, R
             () -> this.analyzeDocumentWithResponse(modelId, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -544,61 +381,20 @@ public SyncPoller beginAnalyzeDocument(String modelId, R
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -621,7 +417,8 @@ public PollerFlux beginAnalyzeDo
             () -> this.analyzeDocumentWithResponseAsync(modelId, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
@@ -630,61 +427,20 @@ public PollerFlux beginAnalyzeDo
 
     /**
      * Analyzes document with document model.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only - * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated - * string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
Query Parameters
NameTypeRequiredDescription
pagesStringNoList of 1-based page numbers to analyze. Ex. "1-3,5,7-9"
localeStringNoLocale hint for text recognition and document analysis. Value may contain only + * the language code (ex. "en", "fr") or BCP 47 language tag (ex. "en-US").
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
featuresList<String>NoList of optional analysis features. In the form of "," separated string.
queryFieldsList<String>NoList of additional fields to extract. Ex. "NumberOfGuests,StoreNumber". In the form of "," separated string.
outputContentFormatStringNoFormat of the analyze result top-level content. Allowed values: "text", "markdown".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -707,7 +463,8 @@ public SyncPoller beginAnalyzeDo
             () -> this.analyzeDocumentWithResponse(modelId, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
@@ -716,35 +473,15 @@ public SyncPoller beginAnalyzeDo
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -773,35 +510,15 @@ private Mono> classifyDocumentWithResponseAsync(String classifier
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -829,35 +546,15 @@ private Response classifyDocumentWithResponse(String classifierId, BinaryD
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -881,7 +578,8 @@ public PollerFlux beginClassifyDocumentAsync(String clas
             () -> this.classifyDocumentWithResponseAsync(classifierId, classifyRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -889,35 +587,15 @@ public PollerFlux beginClassifyDocumentAsync(String clas
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -941,7 +619,8 @@ public SyncPoller beginClassifyDocument(String classifie
             () -> this.classifyDocumentWithResponse(classifierId, classifyRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
@@ -949,35 +628,15 @@ public SyncPoller beginClassifyDocument(String classifie
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -1001,7 +660,8 @@ public PollerFlux beginClassifyD
             () -> this.classifyDocumentWithResponseAsync(classifierId, classifyRequest, requestOptions),
             new DefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
@@ -1010,35 +670,15 @@ public PollerFlux beginClassifyD
 
     /**
      * Classifies document with document classifier.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", - * "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
Query Parameters
NameTypeRequiredDescription
stringIndexTypeStringNoMethod used to compute string offset and length. Allowed values: "textElements", "unicodeCodePoint", "utf16CodeUnit".
splitStringNoDocument splitting mode. Allowed values: "auto", "none", "perPage".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     urlSource: String (Optional)
@@ -1062,7 +702,8 @@ public PollerFlux beginClassifyD
             () -> this.classifyDocumentWithResponse(classifierId, classifyRequest, requestOptions),
             new SyncDefaultPollingStrategy<>(new PollingStrategyOptions(this.getHttpPipeline())
                 .setEndpoint("{endpoint}/documentintelligence".replace("{endpoint}", this.getEndpoint()))
-                .setContext(requestOptions != null && requestOptions.getContext() != null ? requestOptions.getContext()
+                .setContext(requestOptions != null && requestOptions.getContext() != null
+                    ? requestOptions.getContext()
                     : Context.NONE)
                 .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(AnalyzeResultOperation.class),
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java
index 921df332fb6c..9a579c6da077 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AddressValue.java
@@ -6,74 +6,69 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Address field value.
  */
 @Immutable
-public final class AddressValue {
+public final class AddressValue implements JsonSerializable {
     /*
      * House or building number.
      */
     @Generated
-    @JsonProperty(value = "houseNumber")
     private String houseNumber;
 
     /*
      * Post office box number.
      */
     @Generated
-    @JsonProperty(value = "poBox")
     private String poBox;
 
     /*
      * Street name.
      */
     @Generated
-    @JsonProperty(value = "road")
     private String road;
 
     /*
      * Name of city, town, village, etc.
      */
     @Generated
-    @JsonProperty(value = "city")
     private String city;
 
     /*
      * First-level administrative division.
      */
     @Generated
-    @JsonProperty(value = "state")
     private String state;
 
     /*
      * Postal code used for mail sorting.
      */
     @Generated
-    @JsonProperty(value = "postalCode")
     private String postalCode;
 
     /*
      * Country/region.
      */
     @Generated
-    @JsonProperty(value = "countryRegion")
     private String countryRegion;
 
     /*
      * Street-level address, excluding city, state, countryRegion, and postalCode.
      */
     @Generated
-    @JsonProperty(value = "streetAddress")
     private String streetAddress;
 
     /*
      * Apartment or office number
      */
     @Generated
-    @JsonProperty(value = "unit")
     private String unit;
 
     /*
@@ -81,35 +76,30 @@ public final class AddressValue {
      * of Westminster in London.
      */
     @Generated
-    @JsonProperty(value = "cityDistrict")
     private String cityDistrict;
 
     /*
      * Second-level administrative division used in certain locales.
      */
     @Generated
-    @JsonProperty(value = "stateDistrict")
     private String stateDistrict;
 
     /*
      * Unofficial neighborhood name, like Chinatown.
      */
     @Generated
-    @JsonProperty(value = "suburb")
     private String suburb;
 
     /*
      * Build name, such as World Trade Center.
      */
     @Generated
-    @JsonProperty(value = "house")
     private String house;
 
     /*
      * Floor number, such as 3F.
      */
     @Generated
-    @JsonProperty(value = "level")
     private String level;
 
     /**
@@ -259,4 +249,80 @@ public String getHouse() {
     public String getLevel() {
         return this.level;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("houseNumber", this.houseNumber);
+        jsonWriter.writeStringField("poBox", this.poBox);
+        jsonWriter.writeStringField("road", this.road);
+        jsonWriter.writeStringField("city", this.city);
+        jsonWriter.writeStringField("state", this.state);
+        jsonWriter.writeStringField("postalCode", this.postalCode);
+        jsonWriter.writeStringField("countryRegion", this.countryRegion);
+        jsonWriter.writeStringField("streetAddress", this.streetAddress);
+        jsonWriter.writeStringField("unit", this.unit);
+        jsonWriter.writeStringField("cityDistrict", this.cityDistrict);
+        jsonWriter.writeStringField("stateDistrict", this.stateDistrict);
+        jsonWriter.writeStringField("suburb", this.suburb);
+        jsonWriter.writeStringField("house", this.house);
+        jsonWriter.writeStringField("level", this.level);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AddressValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AddressValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AddressValue.
+     */
+    @Generated
+    public static AddressValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AddressValue deserializedAddressValue = new AddressValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("houseNumber".equals(fieldName)) {
+                    deserializedAddressValue.houseNumber = reader.getString();
+                } else if ("poBox".equals(fieldName)) {
+                    deserializedAddressValue.poBox = reader.getString();
+                } else if ("road".equals(fieldName)) {
+                    deserializedAddressValue.road = reader.getString();
+                } else if ("city".equals(fieldName)) {
+                    deserializedAddressValue.city = reader.getString();
+                } else if ("state".equals(fieldName)) {
+                    deserializedAddressValue.state = reader.getString();
+                } else if ("postalCode".equals(fieldName)) {
+                    deserializedAddressValue.postalCode = reader.getString();
+                } else if ("countryRegion".equals(fieldName)) {
+                    deserializedAddressValue.countryRegion = reader.getString();
+                } else if ("streetAddress".equals(fieldName)) {
+                    deserializedAddressValue.streetAddress = reader.getString();
+                } else if ("unit".equals(fieldName)) {
+                    deserializedAddressValue.unit = reader.getString();
+                } else if ("cityDistrict".equals(fieldName)) {
+                    deserializedAddressValue.cityDistrict = reader.getString();
+                } else if ("stateDistrict".equals(fieldName)) {
+                    deserializedAddressValue.stateDistrict = reader.getString();
+                } else if ("suburb".equals(fieldName)) {
+                    deserializedAddressValue.suburb = reader.getString();
+                } else if ("house".equals(fieldName)) {
+                    deserializedAddressValue.house = reader.getString();
+                } else if ("level".equals(fieldName)) {
+                    deserializedAddressValue.level = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAddressValue;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java
index efb9d7c197e5..c3adc9e92c25 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeDocumentRequest.java
@@ -7,26 +7,28 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.CoreUtils;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Document analysis parameters.
  */
 @Fluent
-public final class AnalyzeDocumentRequest {
+public final class AnalyzeDocumentRequest implements JsonSerializable {
     /*
-     * Document URL to analyze. Either urlSource or base64Source must be specified.
+     * Document URL to analyze.  Either urlSource or base64Source must be specified.
      */
     @Generated
-    @JsonProperty(value = "urlSource")
     private String urlSource;
 
     /*
-     * Base64 encoding of the document to analyze. Either urlSource or base64Source
+     * Base64 encoding of the document to analyze.  Either urlSource or base64Source
      * must be specified.
      */
     @Generated
-    @JsonProperty(value = "base64Source")
     private byte[] base64Source;
 
     /**
@@ -37,7 +39,7 @@ public AnalyzeDocumentRequest() {
     }
 
     /**
-     * Get the urlSource property: Document URL to analyze. Either urlSource or base64Source must be specified.
+     * Get the urlSource property: Document URL to analyze.  Either urlSource or base64Source must be specified.
      * 
      * @return the urlSource value.
      */
@@ -47,7 +49,7 @@ public String getUrlSource() {
     }
 
     /**
-     * Set the urlSource property: Document URL to analyze. Either urlSource or base64Source must be specified.
+     * Set the urlSource property: Document URL to analyze.  Either urlSource or base64Source must be specified.
      * 
      * @param urlSource the urlSource value to set.
      * @return the AnalyzeDocumentRequest object itself.
@@ -59,7 +61,7 @@ public AnalyzeDocumentRequest setUrlSource(String urlSource) {
     }
 
     /**
-     * Get the base64Source property: Base64 encoding of the document to analyze. Either urlSource or base64Source
+     * Get the base64Source property: Base64 encoding of the document to analyze.  Either urlSource or base64Source
      * must be specified.
      * 
      * @return the base64Source value.
@@ -70,7 +72,7 @@ public byte[] getBase64Source() {
     }
 
     /**
-     * Set the base64Source property: Base64 encoding of the document to analyze. Either urlSource or base64Source
+     * Set the base64Source property: Base64 encoding of the document to analyze.  Either urlSource or base64Source
      * must be specified.
      * 
      * @param base64Source the base64Source value to set.
@@ -81,4 +83,44 @@ public AnalyzeDocumentRequest setBase64Source(byte[] base64Source) {
         this.base64Source = CoreUtils.clone(base64Source);
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("urlSource", this.urlSource);
+        jsonWriter.writeBinaryField("base64Source", this.base64Source);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeDocumentRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeDocumentRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AnalyzeDocumentRequest.
+     */
+    @Generated
+    public static AnalyzeDocumentRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AnalyzeDocumentRequest deserializedAnalyzeDocumentRequest = new AnalyzeDocumentRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("urlSource".equals(fieldName)) {
+                    deserializedAnalyzeDocumentRequest.urlSource = reader.getString();
+                } else if ("base64Source".equals(fieldName)) {
+                    deserializedAnalyzeDocumentRequest.base64Source = reader.getBinary();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAnalyzeDocumentRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java
index 075990bc76e0..2977937a4109 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResult.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Document analysis result.
  */
 @Immutable
-public final class AnalyzeResult {
+public final class AnalyzeResult implements JsonSerializable {
     /*
      * API version used to produce this result.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
-    private String apiVersion;
+    private final String apiVersion;
 
     /*
      * Document model ID used to produce this result.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Method used to compute string offset and length.
      */
     @Generated
-    @JsonProperty(value = "stringIndexType")
-    private StringIndexType stringIndexType;
+    private final StringIndexType stringIndexType;
 
     /*
      * Format of the analyze result top-level content.
      */
     @Generated
-    @JsonProperty(value = "contentFormat")
     private ContentFormat contentFormat;
 
     /*
@@ -48,77 +47,66 @@ public final class AnalyzeResult {
      * order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Analyzed pages.
      */
     @Generated
-    @JsonProperty(value = "pages")
-    private List pages;
+    private final List pages;
 
     /*
      * Extracted paragraphs.
      */
     @Generated
-    @JsonProperty(value = "paragraphs")
     private List paragraphs;
 
     /*
      * Extracted tables.
      */
     @Generated
-    @JsonProperty(value = "tables")
     private List tables;
 
     /*
      * Extracted figures.
      */
     @Generated
-    @JsonProperty(value = "figures")
     private List figures;
 
     /*
      * Extracted lists.
      */
     @Generated
-    @JsonProperty(value = "lists")
     private List lists;
 
     /*
      * Extracted sections.
      */
     @Generated
-    @JsonProperty(value = "sections")
     private List sections;
 
     /*
      * Extracted key-value pairs.
      */
     @Generated
-    @JsonProperty(value = "keyValuePairs")
     private List keyValuePairs;
 
     /*
      * Extracted font styles.
      */
     @Generated
-    @JsonProperty(value = "styles")
     private List styles;
 
     /*
      * Detected languages.
      */
     @Generated
-    @JsonProperty(value = "languages")
     private List languages;
 
     /*
      * Extracted documents.
      */
     @Generated
-    @JsonProperty(value = "documents")
     private List documents;
 
     /**
@@ -131,11 +119,8 @@ public final class AnalyzeResult {
      * @param pages the pages value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeResult(@JsonProperty(value = "apiVersion") String apiVersion,
-        @JsonProperty(value = "modelId") String modelId,
-        @JsonProperty(value = "stringIndexType") StringIndexType stringIndexType,
-        @JsonProperty(value = "content") String content, @JsonProperty(value = "pages") List pages) {
+    private AnalyzeResult(String apiVersion, String modelId, StringIndexType stringIndexType, String content,
+        List pages) {
         this.apiVersion = apiVersion;
         this.modelId = modelId;
         this.stringIndexType = stringIndexType;
@@ -293,4 +278,111 @@ public List getLanguages() {
     public List getDocuments() {
         return this.documents;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeStringField("stringIndexType",
+            this.stringIndexType == null ? null : this.stringIndexType.toString());
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("pages", this.pages, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("contentFormat", this.contentFormat == null ? null : this.contentFormat.toString());
+        jsonWriter.writeArrayField("paragraphs", this.paragraphs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("tables", this.tables, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("figures", this.figures, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("lists", this.lists, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("sections", this.sections, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("keyValuePairs", this.keyValuePairs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("styles", this.styles, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("documents", this.documents, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeResult.
+     */
+    @Generated
+    public static AnalyzeResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String apiVersion = null;
+            String modelId = null;
+            StringIndexType stringIndexType = null;
+            String content = null;
+            List pages = null;
+            ContentFormat contentFormat = null;
+            List paragraphs = null;
+            List tables = null;
+            List figures = null;
+            List lists = null;
+            List sections = null;
+            List keyValuePairs = null;
+            List styles = null;
+            List languages = null;
+            List documents = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("stringIndexType".equals(fieldName)) {
+                    stringIndexType = StringIndexType.fromString(reader.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("pages".equals(fieldName)) {
+                    pages = reader.readArray(reader1 -> DocumentPage.fromJson(reader1));
+                } else if ("contentFormat".equals(fieldName)) {
+                    contentFormat = ContentFormat.fromString(reader.getString());
+                } else if ("paragraphs".equals(fieldName)) {
+                    paragraphs = reader.readArray(reader1 -> DocumentParagraph.fromJson(reader1));
+                } else if ("tables".equals(fieldName)) {
+                    tables = reader.readArray(reader1 -> DocumentTable.fromJson(reader1));
+                } else if ("figures".equals(fieldName)) {
+                    figures = reader.readArray(reader1 -> DocumentFigure.fromJson(reader1));
+                } else if ("lists".equals(fieldName)) {
+                    lists = reader.readArray(reader1 -> DocumentList.fromJson(reader1));
+                } else if ("sections".equals(fieldName)) {
+                    sections = reader.readArray(reader1 -> DocumentSection.fromJson(reader1));
+                } else if ("keyValuePairs".equals(fieldName)) {
+                    keyValuePairs = reader.readArray(reader1 -> DocumentKeyValuePair.fromJson(reader1));
+                } else if ("styles".equals(fieldName)) {
+                    styles = reader.readArray(reader1 -> DocumentStyle.fromJson(reader1));
+                } else if ("languages".equals(fieldName)) {
+                    languages = reader.readArray(reader1 -> DocumentLanguage.fromJson(reader1));
+                } else if ("documents".equals(fieldName)) {
+                    documents = reader.readArray(reader1 -> Document.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeResult deserializedAnalyzeResult
+                = new AnalyzeResult(apiVersion, modelId, stringIndexType, content, pages);
+            deserializedAnalyzeResult.contentFormat = contentFormat;
+            deserializedAnalyzeResult.paragraphs = paragraphs;
+            deserializedAnalyzeResult.tables = tables;
+            deserializedAnalyzeResult.figures = figures;
+            deserializedAnalyzeResult.lists = lists;
+            deserializedAnalyzeResult.sections = sections;
+            deserializedAnalyzeResult.keyValuePairs = keyValuePairs;
+            deserializedAnalyzeResult.styles = styles;
+            deserializedAnalyzeResult.languages = languages;
+            deserializedAnalyzeResult.documents = documents;
+
+            return deserializedAnalyzeResult;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java
index c8f521a54be4..7a1eb2413443 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AnalyzeResultOperation.java
@@ -6,48 +6,47 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * Status and result of the analyze operation.
  */
 @Immutable
-public final class AnalyzeResultOperation {
+public final class AnalyzeResultOperation implements JsonSerializable {
     /*
-     * Operation status. notStarted, running, succeeded, or failed
+     * Operation status.  notStarted, running, succeeded, or failed
      */
     @Generated
-    @JsonProperty(value = "status")
-    private OperationStatus status;
+    private final OperationStatus status;
 
     /*
      * Date and time (UTC) when the analyze operation was submitted.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the status was last updated.
      */
     @Generated
-    @JsonProperty(value = "lastUpdatedDateTime")
-    private OffsetDateTime lastUpdatedDateTime;
+    private final OffsetDateTime lastUpdatedDateTime;
 
     /*
      * Encountered error during document analysis.
      */
     @Generated
-    @JsonProperty(value = "error")
     private Error error;
 
     /*
      * Document analysis result.
      */
     @Generated
-    @JsonProperty(value = "analyzeResult")
     private AnalyzeResult analyzeResult;
 
     /**
@@ -58,17 +57,15 @@ public final class AnalyzeResultOperation {
      * @param lastUpdatedDateTime the lastUpdatedDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    private AnalyzeResultOperation(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime) {
+    private AnalyzeResultOperation(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime) {
         this.status = status;
         this.createdDateTime = createdDateTime;
         this.lastUpdatedDateTime = lastUpdatedDateTime;
     }
 
     /**
-     * Get the status property: Operation status. notStarted, running, succeeded, or failed.
+     * Get the status property: Operation status.  notStarted, running, succeeded, or failed.
      * 
      * @return the status value.
      */
@@ -116,4 +113,68 @@ public Error getError() {
     public AnalyzeResult getAnalyzeResult() {
         return this.analyzeResult;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            this.lastUpdatedDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.lastUpdatedDateTime));
+        jsonWriter.writeJsonField("error", this.error);
+        jsonWriter.writeJsonField("analyzeResult", this.analyzeResult);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AnalyzeResultOperation from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AnalyzeResultOperation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AnalyzeResultOperation.
+     */
+    @Generated
+    public static AnalyzeResultOperation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            Error error = null;
+            AnalyzeResult analyzeResult = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("analyzeResult".equals(fieldName)) {
+                    analyzeResult = AnalyzeResult.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AnalyzeResultOperation deserializedAnalyzeResultOperation
+                = new AnalyzeResultOperation(status, createdDateTime, lastUpdatedDateTime);
+            deserializedAnalyzeResultOperation.error = error;
+            deserializedAnalyzeResultOperation.analyzeResult = analyzeResult;
+
+            return deserializedAnalyzeResultOperation;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java
index b5024a0ba84b..57e246917526 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AuthorizeCopyRequest.java
@@ -6,34 +6,34 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Request body to authorize document model copy.
  */
 @Fluent
-public final class AuthorizeCopyRequest {
+public final class AuthorizeCopyRequest implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /**
@@ -42,8 +42,7 @@ public final class AuthorizeCopyRequest {
      * @param modelId the modelId value to set.
      */
     @Generated
-    @JsonCreator
-    public AuthorizeCopyRequest(@JsonProperty(value = "modelId") String modelId) {
+    public AuthorizeCopyRequest(String modelId) {
         this.modelId = modelId;
     }
 
@@ -100,4 +99,53 @@ public AuthorizeCopyRequest setTags(Map tags) {
         this.tags = tags;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AuthorizeCopyRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AuthorizeCopyRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AuthorizeCopyRequest.
+     */
+    @Generated
+    public static AuthorizeCopyRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            String description = null;
+            Map tags = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AuthorizeCopyRequest deserializedAuthorizeCopyRequest = new AuthorizeCopyRequest(modelId);
+            deserializedAuthorizeCopyRequest.description = description;
+            deserializedAuthorizeCopyRequest.tags = tags;
+
+            return deserializedAuthorizeCopyRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java
index 750eaa3617dd..1a95eb0faae1 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobContentSource.java
@@ -6,26 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Azure Blob Storage content.
  */
 @Fluent
-public final class AzureBlobContentSource {
+public final class AzureBlobContentSource implements JsonSerializable {
     /*
      * Azure Blob Storage container URL.
      */
     @Generated
-    @JsonProperty(value = "containerUrl")
-    private String containerUrl;
+    private final String containerUrl;
 
     /*
      * Blob name prefix.
      */
     @Generated
-    @JsonProperty(value = "prefix")
     private String prefix;
 
     /**
@@ -34,8 +35,7 @@ public final class AzureBlobContentSource {
      * @param containerUrl the containerUrl value to set.
      */
     @Generated
-    @JsonCreator
-    public AzureBlobContentSource(@JsonProperty(value = "containerUrl") String containerUrl) {
+    public AzureBlobContentSource(String containerUrl) {
         this.containerUrl = containerUrl;
     }
 
@@ -70,4 +70,48 @@ public AzureBlobContentSource setPrefix(String prefix) {
         this.prefix = prefix;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("containerUrl", this.containerUrl);
+        jsonWriter.writeStringField("prefix", this.prefix);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AzureBlobContentSource from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AzureBlobContentSource if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AzureBlobContentSource.
+     */
+    @Generated
+    public static AzureBlobContentSource fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String containerUrl = null;
+            String prefix = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("containerUrl".equals(fieldName)) {
+                    containerUrl = reader.getString();
+                } else if ("prefix".equals(fieldName)) {
+                    prefix = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AzureBlobContentSource deserializedAzureBlobContentSource = new AzureBlobContentSource(containerUrl);
+            deserializedAzureBlobContentSource.prefix = prefix;
+
+            return deserializedAzureBlobContentSource;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java
index 025d0de4c960..91418b915857 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/AzureBlobFileListContentSource.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * File list in Azure Blob Storage.
  */
 @Immutable
-public final class AzureBlobFileListContentSource {
+public final class AzureBlobFileListContentSource implements JsonSerializable {
     /*
      * Azure Blob Storage container URL.
      */
     @Generated
-    @JsonProperty(value = "containerUrl")
-    private String containerUrl;
+    private final String containerUrl;
 
     /*
      * Path to a JSONL file within the container specifying a subset of documents.
      */
     @Generated
-    @JsonProperty(value = "fileList")
-    private String fileList;
+    private final String fileList;
 
     /**
      * Creates an instance of AzureBlobFileListContentSource class.
@@ -35,9 +36,7 @@ public final class AzureBlobFileListContentSource {
      * @param fileList the fileList value to set.
      */
     @Generated
-    @JsonCreator
-    public AzureBlobFileListContentSource(@JsonProperty(value = "containerUrl") String containerUrl,
-        @JsonProperty(value = "fileList") String fileList) {
+    public AzureBlobFileListContentSource(String containerUrl, String fileList) {
         this.containerUrl = containerUrl;
         this.fileList = fileList;
     }
@@ -61,4 +60,45 @@ public String getContainerUrl() {
     public String getFileList() {
         return this.fileList;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("containerUrl", this.containerUrl);
+        jsonWriter.writeStringField("fileList", this.fileList);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AzureBlobFileListContentSource from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AzureBlobFileListContentSource if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AzureBlobFileListContentSource.
+     */
+    @Generated
+    public static AzureBlobFileListContentSource fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String containerUrl = null;
+            String fileList = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("containerUrl".equals(fieldName)) {
+                    containerUrl = reader.getString();
+                } else if ("fileList".equals(fieldName)) {
+                    fileList = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AzureBlobFileListContentSource(containerUrl, fileList);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java
index 6fc6b1b8911c..e2d6dabb4682 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BoundingRegion.java
@@ -6,21 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Bounding polygon on a specific page of the input.
  */
 @Immutable
-public final class BoundingRegion {
+public final class BoundingRegion implements JsonSerializable {
     /*
      * 1-based page number of page containing the bounding region.
      */
     @Generated
-    @JsonProperty(value = "pageNumber")
-    private int pageNumber;
+    private final int pageNumber;
 
     /*
      * Bounding polygon on the page, or the entire page if not specified.
@@ -29,8 +31,7 @@ public final class BoundingRegion {
      * (-180 degrees inclusive) relative to the element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
-    private List polygon;
+    private final List polygon;
 
     /**
      * Creates an instance of BoundingRegion class.
@@ -39,9 +40,7 @@ public final class BoundingRegion {
      * @param polygon the polygon value to set.
      */
     @Generated
-    @JsonCreator
-    private BoundingRegion(@JsonProperty(value = "pageNumber") int pageNumber,
-        @JsonProperty(value = "polygon") List polygon) {
+    private BoundingRegion(int pageNumber, List polygon) {
         this.pageNumber = pageNumber;
         this.polygon = polygon;
     }
@@ -68,4 +67,45 @@ public int getPageNumber() {
     public List getPolygon() {
         return this.polygon;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("pageNumber", this.pageNumber);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BoundingRegion from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BoundingRegion if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BoundingRegion.
+     */
+    @Generated
+    public static BoundingRegion fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int pageNumber = 0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("pageNumber".equals(fieldName)) {
+                    pageNumber = reader.getInt();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new BoundingRegion(pageNumber, polygon);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java
index 8e5b556597b4..458b11ebef05 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentClassifierRequest.java
@@ -6,42 +6,41 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Request body to build a new custom document classifier.
  */
 @Fluent
-public final class BuildDocumentClassifierRequest {
+public final class BuildDocumentClassifierRequest implements JsonSerializable {
     /*
      * Unique document classifier name.
      */
     @Generated
-    @JsonProperty(value = "classifierId")
-    private String classifierId;
+    private final String classifierId;
 
     /*
      * Document classifier description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Base classifierId on top of which to train the classifier.
      */
     @Generated
-    @JsonProperty(value = "baseClassifierId")
     private String baseClassifierId;
 
     /*
      * List of document types to classify against.
      */
     @Generated
-    @JsonProperty(value = "docTypes")
-    private Map docTypes;
+    private final Map docTypes;
 
     /**
      * Creates an instance of BuildDocumentClassifierRequest class.
@@ -50,9 +49,7 @@ public final class BuildDocumentClassifierRequest {
      * @param docTypes the docTypes value to set.
      */
     @Generated
-    @JsonCreator
-    public BuildDocumentClassifierRequest(@JsonProperty(value = "classifierId") String classifierId,
-        @JsonProperty(value = "docTypes") Map docTypes) {
+    public BuildDocumentClassifierRequest(String classifierId, Map docTypes) {
         this.classifierId = classifierId;
         this.docTypes = docTypes;
     }
@@ -120,4 +117,58 @@ public BuildDocumentClassifierRequest setBaseClassifierId(String baseClassifierI
     public Map getDocTypes() {
         return this.docTypes;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("classifierId", this.classifierId);
+        jsonWriter.writeMapField("docTypes", this.docTypes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("baseClassifierId", this.baseClassifierId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BuildDocumentClassifierRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BuildDocumentClassifierRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BuildDocumentClassifierRequest.
+     */
+    @Generated
+    public static BuildDocumentClassifierRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String classifierId = null;
+            Map docTypes = null;
+            String description = null;
+            String baseClassifierId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("classifierId".equals(fieldName)) {
+                    classifierId = reader.getString();
+                } else if ("docTypes".equals(fieldName)) {
+                    docTypes = reader.readMap(reader1 -> ClassifierDocumentTypeDetails.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("baseClassifierId".equals(fieldName)) {
+                    baseClassifierId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            BuildDocumentClassifierRequest deserializedBuildDocumentClassifierRequest
+                = new BuildDocumentClassifierRequest(classifierId, docTypes);
+            deserializedBuildDocumentClassifierRequest.description = description;
+            deserializedBuildDocumentClassifierRequest.baseClassifierId = baseClassifierId;
+
+            return deserializedBuildDocumentClassifierRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java
index 9de10dd1e9e1..e65e2800a824 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/BuildDocumentModelRequest.java
@@ -6,57 +6,54 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Request body to build a new custom document model.
  */
 @Fluent
-public final class BuildDocumentModelRequest {
+public final class BuildDocumentModelRequest implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Custom document model build mode.
      */
     @Generated
-    @JsonProperty(value = "buildMode")
-    private DocumentBuildMode buildMode;
+    private final DocumentBuildMode buildMode;
 
     /*
-     * Azure Blob Storage location containing the training data. Either
+     * Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobSource")
     private AzureBlobContentSource azureBlobSource;
 
     /*
-     * Azure Blob Storage file list specifying the training data. Either
+     * Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobFileListSource")
     private AzureBlobFileListContentSource azureBlobFileListSource;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /**
@@ -66,9 +63,7 @@ public final class BuildDocumentModelRequest {
      * @param buildMode the buildMode value to set.
      */
     @Generated
-    @JsonCreator
-    public BuildDocumentModelRequest(@JsonProperty(value = "modelId") String modelId,
-        @JsonProperty(value = "buildMode") DocumentBuildMode buildMode) {
+    public BuildDocumentModelRequest(String modelId, DocumentBuildMode buildMode) {
         this.modelId = modelId;
         this.buildMode = buildMode;
     }
@@ -116,7 +111,7 @@ public DocumentBuildMode getBuildMode() {
     }
 
     /**
-     * Get the azureBlobSource property: Azure Blob Storage location containing the training data. Either
+     * Get the azureBlobSource property: Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      * 
      * @return the azureBlobSource value.
@@ -127,7 +122,7 @@ public AzureBlobContentSource getAzureBlobSource() {
     }
 
     /**
-     * Set the azureBlobSource property: Azure Blob Storage location containing the training data. Either
+     * Set the azureBlobSource property: Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      * 
      * @param azureBlobSource the azureBlobSource value to set.
@@ -140,7 +135,7 @@ public BuildDocumentModelRequest setAzureBlobSource(AzureBlobContentSource azure
     }
 
     /**
-     * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data. Either
+     * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      * 
      * @return the azureBlobFileListSource value.
@@ -151,7 +146,7 @@ public AzureBlobFileListContentSource getAzureBlobFileListSource() {
     }
 
     /**
-     * Set the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data. Either
+     * Set the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      * 
      * @param azureBlobFileListSource the azureBlobFileListSource value to set.
@@ -185,4 +180,68 @@ public BuildDocumentModelRequest setTags(Map tags) {
         this.tags = tags;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeStringField("buildMode", this.buildMode == null ? null : this.buildMode.toString());
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeJsonField("azureBlobSource", this.azureBlobSource);
+        jsonWriter.writeJsonField("azureBlobFileListSource", this.azureBlobFileListSource);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BuildDocumentModelRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BuildDocumentModelRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BuildDocumentModelRequest.
+     */
+    @Generated
+    public static BuildDocumentModelRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            DocumentBuildMode buildMode = null;
+            String description = null;
+            AzureBlobContentSource azureBlobSource = null;
+            AzureBlobFileListContentSource azureBlobFileListSource = null;
+            Map tags = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("buildMode".equals(fieldName)) {
+                    buildMode = DocumentBuildMode.fromString(reader.getString());
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("azureBlobSource".equals(fieldName)) {
+                    azureBlobSource = AzureBlobContentSource.fromJson(reader);
+                } else if ("azureBlobFileListSource".equals(fieldName)) {
+                    azureBlobFileListSource = AzureBlobFileListContentSource.fromJson(reader);
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            BuildDocumentModelRequest deserializedBuildDocumentModelRequest
+                = new BuildDocumentModelRequest(modelId, buildMode);
+            deserializedBuildDocumentModelRequest.description = description;
+            deserializedBuildDocumentModelRequest.azureBlobSource = azureBlobSource;
+            deserializedBuildDocumentModelRequest.azureBlobFileListSource = azureBlobFileListSource;
+            deserializedBuildDocumentModelRequest.tags = tags;
+
+            return deserializedBuildDocumentModelRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java
index 8bc88fabe800..0bfa3c4463e7 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifierDocumentTypeDetails.java
@@ -6,36 +6,37 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Classifier document type info.
  */
 @Fluent
-public final class ClassifierDocumentTypeDetails {
+public final class ClassifierDocumentTypeDetails implements JsonSerializable {
     /*
      * Type of training data source.
      */
     @Generated
-    @JsonProperty(value = "sourceKind")
     private ContentSourceKind sourceKind;
 
     /*
      * Azure Blob Storage location containing the training data for a classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobSource")
     private AzureBlobContentSource azureBlobSource;
 
     /*
      * Azure Blob Storage file list specifying the training data for a classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobFileListSource")
     private AzureBlobFileListContentSource azureBlobFileListSource;
 
     /**
@@ -69,7 +70,7 @@ public ClassifierDocumentTypeDetails setSourceKind(ContentSourceKind sourceKind)
 
     /**
      * Get the azureBlobSource property: Azure Blob Storage location containing the training data for a classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      * 
      * @return the azureBlobSource value.
@@ -81,7 +82,7 @@ public AzureBlobContentSource getAzureBlobSource() {
 
     /**
      * Set the azureBlobSource property: Azure Blob Storage location containing the training data for a classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      * 
      * @param azureBlobSource the azureBlobSource value to set.
@@ -94,9 +95,8 @@ public ClassifierDocumentTypeDetails setAzureBlobSource(AzureBlobContentSource a
     }
 
     /**
-     * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data for a
-     * classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data for a classifier
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      * 
      * @return the azureBlobFileListSource value.
@@ -107,9 +107,8 @@ public AzureBlobFileListContentSource getAzureBlobFileListSource() {
     }
 
     /**
-     * Set the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data for a
-     * classifier
-     * document type. Either azureBlobSource or azureBlobFileListSource must be
+     * Set the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data for a classifier
+     * document type.  Either azureBlobSource or azureBlobFileListSource must be
      * specified.
      * 
      * @param azureBlobFileListSource the azureBlobFileListSource value to set.
@@ -121,4 +120,50 @@ public AzureBlobFileListContentSource getAzureBlobFileListSource() {
         this.azureBlobFileListSource = azureBlobFileListSource;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("sourceKind", this.sourceKind == null ? null : this.sourceKind.toString());
+        jsonWriter.writeJsonField("azureBlobSource", this.azureBlobSource);
+        jsonWriter.writeJsonField("azureBlobFileListSource", this.azureBlobFileListSource);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ClassifierDocumentTypeDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ClassifierDocumentTypeDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ClassifierDocumentTypeDetails.
+     */
+    @Generated
+    public static ClassifierDocumentTypeDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ClassifierDocumentTypeDetails deserializedClassifierDocumentTypeDetails
+                = new ClassifierDocumentTypeDetails();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("sourceKind".equals(fieldName)) {
+                    deserializedClassifierDocumentTypeDetails.sourceKind
+                        = ContentSourceKind.fromString(reader.getString());
+                } else if ("azureBlobSource".equals(fieldName)) {
+                    deserializedClassifierDocumentTypeDetails.azureBlobSource = AzureBlobContentSource.fromJson(reader);
+                } else if ("azureBlobFileListSource".equals(fieldName)) {
+                    deserializedClassifierDocumentTypeDetails.azureBlobFileListSource
+                        = AzureBlobFileListContentSource.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedClassifierDocumentTypeDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java
index 520c6249e741..43624c1283bc 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ClassifyDocumentRequest.java
@@ -7,26 +7,28 @@
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.CoreUtils;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Document classification parameters.
  */
 @Fluent
-public final class ClassifyDocumentRequest {
+public final class ClassifyDocumentRequest implements JsonSerializable {
     /*
-     * Document URL to classify. Either urlSource or base64Source must be specified.
+     * Document URL to classify.  Either urlSource or base64Source must be specified.
      */
     @Generated
-    @JsonProperty(value = "urlSource")
     private String urlSource;
 
     /*
-     * Base64 encoding of the document to classify. Either urlSource or base64Source
+     * Base64 encoding of the document to classify.  Either urlSource or base64Source
      * must be specified.
      */
     @Generated
-    @JsonProperty(value = "base64Source")
     private byte[] base64Source;
 
     /**
@@ -37,7 +39,7 @@ public ClassifyDocumentRequest() {
     }
 
     /**
-     * Get the urlSource property: Document URL to classify. Either urlSource or base64Source must be specified.
+     * Get the urlSource property: Document URL to classify.  Either urlSource or base64Source must be specified.
      * 
      * @return the urlSource value.
      */
@@ -47,7 +49,7 @@ public String getUrlSource() {
     }
 
     /**
-     * Set the urlSource property: Document URL to classify. Either urlSource or base64Source must be specified.
+     * Set the urlSource property: Document URL to classify.  Either urlSource or base64Source must be specified.
      * 
      * @param urlSource the urlSource value to set.
      * @return the ClassifyDocumentRequest object itself.
@@ -59,7 +61,7 @@ public ClassifyDocumentRequest setUrlSource(String urlSource) {
     }
 
     /**
-     * Get the base64Source property: Base64 encoding of the document to classify. Either urlSource or base64Source
+     * Get the base64Source property: Base64 encoding of the document to classify.  Either urlSource or base64Source
      * must be specified.
      * 
      * @return the base64Source value.
@@ -70,7 +72,7 @@ public byte[] getBase64Source() {
     }
 
     /**
-     * Set the base64Source property: Base64 encoding of the document to classify. Either urlSource or base64Source
+     * Set the base64Source property: Base64 encoding of the document to classify.  Either urlSource or base64Source
      * must be specified.
      * 
      * @param base64Source the base64Source value to set.
@@ -81,4 +83,44 @@ public ClassifyDocumentRequest setBase64Source(byte[] base64Source) {
         this.base64Source = CoreUtils.clone(base64Source);
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("urlSource", this.urlSource);
+        jsonWriter.writeBinaryField("base64Source", this.base64Source);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ClassifyDocumentRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ClassifyDocumentRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ClassifyDocumentRequest.
+     */
+    @Generated
+    public static ClassifyDocumentRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ClassifyDocumentRequest deserializedClassifyDocumentRequest = new ClassifyDocumentRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("urlSource".equals(fieldName)) {
+                    deserializedClassifyDocumentRequest.urlSource = reader.getString();
+                } else if ("base64Source".equals(fieldName)) {
+                    deserializedClassifyDocumentRequest.base64Source = reader.getBinary();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedClassifyDocumentRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java
index ec2206fd26fe..8098035b25d2 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComponentDocumentModelDetails.java
@@ -6,20 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A component of a composed document model.
  */
 @Immutable
-public final class ComponentDocumentModelDetails {
+public final class ComponentDocumentModelDetails implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /**
      * Creates an instance of ComponentDocumentModelDetails class.
@@ -27,8 +29,7 @@ public final class ComponentDocumentModelDetails {
      * @param modelId the modelId value to set.
      */
     @Generated
-    @JsonCreator
-    public ComponentDocumentModelDetails(@JsonProperty(value = "modelId") String modelId) {
+    public ComponentDocumentModelDetails(String modelId) {
         this.modelId = modelId;
     }
 
@@ -41,4 +42,41 @@ public ComponentDocumentModelDetails(@JsonProperty(value = "modelId") String mod
     public String getModelId() {
         return this.modelId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ComponentDocumentModelDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ComponentDocumentModelDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ComponentDocumentModelDetails.
+     */
+    @Generated
+    public static ComponentDocumentModelDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new ComponentDocumentModelDetails(modelId);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java
index c9918f491f5b..e8d851f28cba 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ComposeDocumentModelRequest.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,33 +18,29 @@
  * Request body to create a composed document model from component document models.
  */
 @Fluent
-public final class ComposeDocumentModelRequest {
+public final class ComposeDocumentModelRequest implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId")
-    private String modelId;
+    private final String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * List of component document models to compose.
      */
     @Generated
-    @JsonProperty(value = "componentModels")
-    private List componentModels;
+    private final List componentModels;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /**
@@ -51,9 +50,7 @@ public final class ComposeDocumentModelRequest {
      * @param componentModels the componentModels value to set.
      */
     @Generated
-    @JsonCreator
-    public ComposeDocumentModelRequest(@JsonProperty(value = "modelId") String modelId,
-        @JsonProperty(value = "componentModels") List componentModels) {
+    public ComposeDocumentModelRequest(String modelId, List componentModels) {
         this.modelId = modelId;
         this.componentModels = componentModels;
     }
@@ -121,4 +118,59 @@ public ComposeDocumentModelRequest setTags(Map tags) {
         this.tags = tags;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("modelId", this.modelId);
+        jsonWriter.writeArrayField("componentModels", this.componentModels,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ComposeDocumentModelRequest from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ComposeDocumentModelRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ComposeDocumentModelRequest.
+     */
+    @Generated
+    public static ComposeDocumentModelRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            List componentModels = null;
+            String description = null;
+            Map tags = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("componentModels".equals(fieldName)) {
+                    componentModels = reader.readArray(reader1 -> ComponentDocumentModelDetails.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ComposeDocumentModelRequest deserializedComposeDocumentModelRequest
+                = new ComposeDocumentModelRequest(modelId, componentModels);
+            deserializedComposeDocumentModelRequest.description = description;
+            deserializedComposeDocumentModelRequest.tags = tags;
+
+            return deserializedComposeDocumentModelRequest;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java
index 76bb1bf15b75..c51762293778 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentFormat.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -43,7 +42,6 @@ public ContentFormat() {
      * @return the corresponding ContentFormat.
      */
     @Generated
-    @JsonCreator
     public static ContentFormat fromString(String name) {
         return fromString(name, ContentFormat.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java
index f7859163443b..84c4c3f629d6 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ContentSourceKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public ContentSourceKind() {
      * @return the corresponding ContentSourceKind.
      */
     @Generated
-    @JsonCreator
     public static ContentSourceKind fromString(String name) {
         return fromString(name, ContentSourceKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java
index 2e2c69c5164f..24e011975d22 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CopyAuthorization.java
@@ -6,58 +6,56 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * Authorization to copy a document model to the specified target resource and
  * modelId.
  */
 @Immutable
-public final class CopyAuthorization {
+public final class CopyAuthorization implements JsonSerializable {
     /*
      * ID of the target Azure resource where the document model should be copied to.
      */
     @Generated
-    @JsonProperty(value = "targetResourceId")
-    private String targetResourceId;
+    private final String targetResourceId;
 
     /*
      * Location of the target Azure resource where the document model should be copied
      * to.
      */
     @Generated
-    @JsonProperty(value = "targetResourceRegion")
-    private String targetResourceRegion;
+    private final String targetResourceRegion;
 
     /*
      * Identifier of the target document model.
      */
     @Generated
-    @JsonProperty(value = "targetModelId")
-    private String targetModelId;
+    private final String targetModelId;
 
     /*
      * URL of the copied document model in the target account.
      */
     @Generated
-    @JsonProperty(value = "targetModelLocation")
-    private String targetModelLocation;
+    private final String targetModelLocation;
 
     /*
      * Token used to authorize the request.
      */
     @Generated
-    @JsonProperty(value = "accessToken")
-    private String accessToken;
+    private final String accessToken;
 
     /*
      * Date/time when the access token expires.
      */
     @Generated
-    @JsonProperty(value = "expirationDateTime")
-    private OffsetDateTime expirationDateTime;
+    private final OffsetDateTime expirationDateTime;
 
     /**
      * Creates an instance of CopyAuthorization class.
@@ -70,13 +68,8 @@ public final class CopyAuthorization {
      * @param expirationDateTime the expirationDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    public CopyAuthorization(@JsonProperty(value = "targetResourceId") String targetResourceId,
-        @JsonProperty(value = "targetResourceRegion") String targetResourceRegion,
-        @JsonProperty(value = "targetModelId") String targetModelId,
-        @JsonProperty(value = "targetModelLocation") String targetModelLocation,
-        @JsonProperty(value = "accessToken") String accessToken,
-        @JsonProperty(value = "expirationDateTime") OffsetDateTime expirationDateTime) {
+    public CopyAuthorization(String targetResourceId, String targetResourceRegion, String targetModelId,
+        String targetModelLocation, String accessToken, OffsetDateTime expirationDateTime) {
         this.targetResourceId = targetResourceId;
         this.targetResourceRegion = targetResourceRegion;
         this.targetModelId = targetModelId;
@@ -96,8 +89,7 @@ public String getTargetResourceId() {
     }
 
     /**
-     * Get the targetResourceRegion property: Location of the target Azure resource where the document model should be
-     * copied
+     * Get the targetResourceRegion property: Location of the target Azure resource where the document model should be copied
      * to.
      * 
      * @return the targetResourceRegion value.
@@ -146,4 +138,66 @@ public String getAccessToken() {
     public OffsetDateTime getExpirationDateTime() {
         return this.expirationDateTime;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("targetResourceId", this.targetResourceId);
+        jsonWriter.writeStringField("targetResourceRegion", this.targetResourceRegion);
+        jsonWriter.writeStringField("targetModelId", this.targetModelId);
+        jsonWriter.writeStringField("targetModelLocation", this.targetModelLocation);
+        jsonWriter.writeStringField("accessToken", this.accessToken);
+        jsonWriter.writeStringField("expirationDateTime",
+            this.expirationDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expirationDateTime));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CopyAuthorization from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CopyAuthorization if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CopyAuthorization.
+     */
+    @Generated
+    public static CopyAuthorization fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String targetResourceId = null;
+            String targetResourceRegion = null;
+            String targetModelId = null;
+            String targetModelLocation = null;
+            String accessToken = null;
+            OffsetDateTime expirationDateTime = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("targetResourceId".equals(fieldName)) {
+                    targetResourceId = reader.getString();
+                } else if ("targetResourceRegion".equals(fieldName)) {
+                    targetResourceRegion = reader.getString();
+                } else if ("targetModelId".equals(fieldName)) {
+                    targetModelId = reader.getString();
+                } else if ("targetModelLocation".equals(fieldName)) {
+                    targetModelLocation = reader.getString();
+                } else if ("accessToken".equals(fieldName)) {
+                    accessToken = reader.getString();
+                } else if ("expirationDateTime".equals(fieldName)) {
+                    expirationDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new CopyAuthorization(targetResourceId, targetResourceRegion, targetModelId, targetModelLocation,
+                accessToken, expirationDateTime);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java
index 92a3b71b4a82..4b94511bed31 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CurrencyValue.java
@@ -6,33 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Currency field value.
  */
 @Immutable
-public final class CurrencyValue {
+public final class CurrencyValue implements JsonSerializable {
     /*
      * Currency amount.
      */
     @Generated
-    @JsonProperty(value = "amount")
-    private double amount;
+    private final double amount;
 
     /*
      * Currency symbol label, if any.
      */
     @Generated
-    @JsonProperty(value = "currencySymbol")
     private String currencySymbol;
 
     /*
      * Resolved currency code (ISO 4217), if any.
      */
     @Generated
-    @JsonProperty(value = "currencyCode")
     private String currencyCode;
 
     /**
@@ -41,8 +41,7 @@ public final class CurrencyValue {
      * @param amount the amount value to set.
      */
     @Generated
-    @JsonCreator
-    private CurrencyValue(@JsonProperty(value = "amount") double amount) {
+    private CurrencyValue(double amount) {
         this.amount = amount;
     }
 
@@ -75,4 +74,53 @@ public String getCurrencySymbol() {
     public String getCurrencyCode() {
         return this.currencyCode;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeDoubleField("amount", this.amount);
+        jsonWriter.writeStringField("currencySymbol", this.currencySymbol);
+        jsonWriter.writeStringField("currencyCode", this.currencyCode);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CurrencyValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CurrencyValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CurrencyValue.
+     */
+    @Generated
+    public static CurrencyValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            double amount = 0.0;
+            String currencySymbol = null;
+            String currencyCode = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("amount".equals(fieldName)) {
+                    amount = reader.getDouble();
+                } else if ("currencySymbol".equals(fieldName)) {
+                    currencySymbol = reader.getString();
+                } else if ("currencyCode".equals(fieldName)) {
+                    currencyCode = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            CurrencyValue deserializedCurrencyValue = new CurrencyValue(amount);
+            deserializedCurrencyValue.currencySymbol = currencySymbol;
+            deserializedCurrencyValue.currencyCode = currencyCode;
+
+            return deserializedCurrencyValue;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java
index ac14bedfdcd4..dbe8761027df 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/CustomDocumentModelsDetails.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Details regarding custom document models.
  */
 @Immutable
-public final class CustomDocumentModelsDetails {
+public final class CustomDocumentModelsDetails implements JsonSerializable {
     /*
      * Number of custom document models in the current resource.
      */
     @Generated
-    @JsonProperty(value = "count")
-    private int count;
+    private final int count;
 
     /*
      * Maximum number of custom document models supported in the current resource.
      */
     @Generated
-    @JsonProperty(value = "limit")
-    private int limit;
+    private final int limit;
 
     /**
      * Creates an instance of CustomDocumentModelsDetails class.
@@ -35,9 +36,7 @@ public final class CustomDocumentModelsDetails {
      * @param limit the limit value to set.
      */
     @Generated
-    @JsonCreator
-    private CustomDocumentModelsDetails(@JsonProperty(value = "count") int count,
-        @JsonProperty(value = "limit") int limit) {
+    private CustomDocumentModelsDetails(int count, int limit) {
         this.count = count;
         this.limit = limit;
     }
@@ -61,4 +60,45 @@ public int getCount() {
     public int getLimit() {
         return this.limit;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("count", this.count);
+        jsonWriter.writeIntField("limit", this.limit);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CustomDocumentModelsDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CustomDocumentModelsDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CustomDocumentModelsDetails.
+     */
+    @Generated
+    public static CustomDocumentModelsDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int count = 0;
+            int limit = 0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    count = reader.getInt();
+                } else if ("limit".equals(fieldName)) {
+                    limit = reader.getInt();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new CustomDocumentModelsDetails(count, limit);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java
index 88063850e2b8..4568f75c0d01 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Document.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,41 +18,36 @@
  * An object describing the location and semantic content of a document.
  */
 @Immutable
-public final class Document {
+public final class Document implements JsonSerializable {
     /*
      * Document type.
      */
     @Generated
-    @JsonProperty(value = "docType")
-    private String docType;
+    private final String docType;
 
     /*
      * Bounding regions covering the document.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the document in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Dictionary of named field values.
      */
     @Generated
-    @JsonProperty(value = "fields")
     private Map fields;
 
     /*
      * Confidence of correctly extracting the document.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of Document class.
@@ -59,10 +57,7 @@ public final class Document {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private Document(@JsonProperty(value = "docType") String docType,
-        @JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "confidence") double confidence) {
+    private Document(String docType, List spans, double confidence) {
         this.docType = docType;
         this.spans = spans;
         this.confidence = confidence;
@@ -117,4 +112,62 @@ public Map getFields() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("docType", this.docType);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("fields", this.fields, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Document from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Document if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Document.
+     */
+    @Generated
+    public static Document fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String docType = null;
+            List spans = null;
+            double confidence = 0.0;
+            List boundingRegions = null;
+            Map fields = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("docType".equals(fieldName)) {
+                    docType = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("fields".equals(fieldName)) {
+                    fields = reader.readMap(reader1 -> DocumentField.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Document deserializedDocument = new Document(docType, spans, confidence);
+            deserializedDocument.boundingRegions = boundingRegions;
+            deserializedDocument.fields = fields;
+
+            return deserializedDocument;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java
index 1565e8b9978a..66f8d8cefdb4 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentAnalysisFeature.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -72,7 +71,6 @@ public DocumentAnalysisFeature() {
      * @return the corresponding DocumentAnalysisFeature.
      */
     @Generated
-    @JsonCreator
     public static DocumentAnalysisFeature fromString(String name) {
         return fromString(name, DocumentAnalysisFeature.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java
index eb8745bf07b1..aa094487d1cd 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcode.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A barcode object.
  */
 @Immutable
-public final class DocumentBarcode {
+public final class DocumentBarcode implements JsonSerializable {
     /*
      * Barcode kind.
      */
     @Generated
-    @JsonProperty(value = "kind")
-    private DocumentBarcodeKind kind;
+    private final DocumentBarcodeKind kind;
 
     /*
      * Barcode value.
      */
     @Generated
-    @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /*
      * Bounding polygon of the barcode, with coordinates specified relative to the
@@ -36,22 +37,19 @@ public final class DocumentBarcode {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the barcode in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the barcode.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentBarcode class.
@@ -62,10 +60,7 @@ public final class DocumentBarcode {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentBarcode(@JsonProperty(value = "kind") DocumentBarcodeKind kind,
-        @JsonProperty(value = "value") String value, @JsonProperty(value = "span") DocumentSpan span,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentBarcode(DocumentBarcodeKind kind, String value, DocumentSpan span, double confidence) {
         this.kind = kind;
         this.value = value;
         this.span = span;
@@ -124,4 +119,60 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeStringField("value", this.value);
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentBarcode from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentBarcode if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentBarcode.
+     */
+    @Generated
+    public static DocumentBarcode fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentBarcodeKind kind = null;
+            String value = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("kind".equals(fieldName)) {
+                    kind = DocumentBarcodeKind.fromString(reader.getString());
+                } else if ("value".equals(fieldName)) {
+                    value = reader.getString();
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentBarcode deserializedDocumentBarcode = new DocumentBarcode(kind, value, span, confidence);
+            deserializedDocumentBarcode.polygon = polygon;
+
+            return deserializedDocumentBarcode;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java
index 9c437473904a..ed67c60adb6d 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBarcodeKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -132,7 +131,6 @@ public DocumentBarcodeKind() {
      * @return the corresponding DocumentBarcodeKind.
      */
     @Generated
-    @JsonCreator
     public static DocumentBarcodeKind fromString(String name) {
         return fromString(name, DocumentBarcodeKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java
index 488bb7aa3fd1..c995e575f45a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentBuildMode.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public DocumentBuildMode() {
      * @return the corresponding DocumentBuildMode.
      */
     @Generated
-    @JsonCreator
     public static DocumentBuildMode fromString(String name) {
         return fromString(name, DocumentBuildMode.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java
index cb699f2f4732..fb5e1ed92422 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentCaption.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A caption object describing a table or figure.
  */
 @Immutable
-public final class DocumentCaption {
+public final class DocumentCaption implements JsonSerializable {
     /*
      * Content of the caption.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the caption.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the caption in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the caption.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -50,9 +49,7 @@ public final class DocumentCaption {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentCaption(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentCaption(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -96,4 +93,58 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentCaption from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentCaption if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentCaption.
+     */
+    @Generated
+    public static DocumentCaption fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentCaption deserializedDocumentCaption = new DocumentCaption(content, spans);
+            deserializedDocumentCaption.boundingRegions = boundingRegions;
+            deserializedDocumentCaption.elements = elements;
+
+            return deserializedDocumentCaption;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java
index 16ed67d90ff6..7977db243715 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierBuildOperationDetails.java
@@ -6,24 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentClassifierBuild")
 @Immutable
 public final class DocumentClassifierBuildOperationDetails extends OperationDetails {
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentClassifierDetails result;
 
     /**
@@ -35,12 +34,10 @@ public final class DocumentClassifierBuildOperationDetails extends OperationDeta
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentClassifierBuildOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentClassifierBuildOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
+        setKind(OperationKind.DOCUMENT_CLASSIFIER_BUILD);
     }
 
     /**
@@ -52,4 +49,97 @@ private DocumentClassifierBuildOperationDetails(@JsonProperty(value = "status")
     public DocumentClassifierDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeStringField("kind", getKind() == null ? null : getKind().toString());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentClassifierBuildOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentClassifierBuildOperationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentClassifierBuildOperationDetails.
+     */
+    @Generated
+    public static DocumentClassifierBuildOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            OperationKind kind = OperationKind.DOCUMENT_CLASSIFIER_BUILD;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            DocumentClassifierDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentClassifierDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentClassifierBuildOperationDetails deserializedDocumentClassifierBuildOperationDetails
+                = new DocumentClassifierBuildOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentClassifierBuildOperationDetails.setOperationId(operationId);
+            deserializedDocumentClassifierBuildOperationDetails.setKind(kind);
+            deserializedDocumentClassifierBuildOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentClassifierBuildOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentClassifierBuildOperationDetails.setTags(tags);
+            deserializedDocumentClassifierBuildOperationDetails.setError(error);
+            deserializedDocumentClassifierBuildOperationDetails.result = result;
+
+            return deserializedDocumentClassifierBuildOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java
index be95146cbcdf..6a273c83208f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentClassifierDetails.java
@@ -6,9 +6,13 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -16,61 +20,53 @@
  * Document classifier info.
  */
 @Immutable
-public final class DocumentClassifierDetails {
+public final class DocumentClassifierDetails implements JsonSerializable {
     /*
      * Unique document classifier name.
      */
     @Generated
-    @JsonProperty(value = "classifierId", access = JsonProperty.Access.WRITE_ONLY)
     private String classifierId;
 
     /*
      * Document classifier description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Date and time (UTC) when the document classifier was created.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the document classifier will expire.
      */
     @Generated
-    @JsonProperty(value = "expirationDateTime")
     private OffsetDateTime expirationDateTime;
 
     /*
      * API version used to create this document classifier.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
-    private String apiVersion;
+    private final String apiVersion;
 
     /*
      * Base classifierId on top of which the classifier was trained.
      */
     @Generated
-    @JsonProperty(value = "baseClassifierId")
     private String baseClassifierId;
 
     /*
      * List of document types to classify against.
      */
     @Generated
-    @JsonProperty(value = "docTypes")
-    private Map docTypes;
+    private final Map docTypes;
 
     /*
      * List of warnings encountered while building the classifier.
      */
     @Generated
-    @JsonProperty(value = "warnings")
     private List warnings;
 
     /**
@@ -81,10 +77,8 @@ public final class DocumentClassifierDetails {
      * @param docTypes the docTypes value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentClassifierDetails(@JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "apiVersion") String apiVersion,
-        @JsonProperty(value = "docTypes") Map docTypes) {
+    private DocumentClassifierDetails(OffsetDateTime createdDateTime, String apiVersion,
+        Map docTypes) {
         this.createdDateTime = createdDateTime;
         this.apiVersion = apiVersion;
         this.docTypes = docTypes;
@@ -169,4 +163,82 @@ public Map getDocTypes() {
     public List getWarnings() {
         return this.warnings;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeMapField("docTypes", this.docTypes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("expirationDateTime",
+            this.expirationDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expirationDateTime));
+        jsonWriter.writeStringField("baseClassifierId", this.baseClassifierId);
+        jsonWriter.writeArrayField("warnings", this.warnings, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentClassifierDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentClassifierDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentClassifierDetails.
+     */
+    @Generated
+    public static DocumentClassifierDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String classifierId = null;
+            OffsetDateTime createdDateTime = null;
+            String apiVersion = null;
+            Map docTypes = null;
+            String description = null;
+            OffsetDateTime expirationDateTime = null;
+            String baseClassifierId = null;
+            List warnings = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("classifierId".equals(fieldName)) {
+                    classifierId = reader.getString();
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("docTypes".equals(fieldName)) {
+                    docTypes = reader.readMap(reader1 -> ClassifierDocumentTypeDetails.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("expirationDateTime".equals(fieldName)) {
+                    expirationDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("baseClassifierId".equals(fieldName)) {
+                    baseClassifierId = reader.getString();
+                } else if ("warnings".equals(fieldName)) {
+                    warnings = reader.readArray(reader1 -> Warning.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentClassifierDetails deserializedDocumentClassifierDetails
+                = new DocumentClassifierDetails(createdDateTime, apiVersion, docTypes);
+            deserializedDocumentClassifierDetails.classifierId = classifierId;
+            deserializedDocumentClassifierDetails.description = description;
+            deserializedDocumentClassifierDetails.expirationDateTime = expirationDateTime;
+            deserializedDocumentClassifierDetails.baseClassifierId = baseClassifierId;
+            deserializedDocumentClassifierDetails.warnings = warnings;
+
+            return deserializedDocumentClassifierDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java
index 3c977e91749d..571f58d99300 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentField.java
@@ -6,155 +6,139 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.LocalDate;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * An object representing the content and location of a field value.
  */
 @Immutable
-public final class DocumentField {
+public final class DocumentField implements JsonSerializable {
     /*
      * Data type of the field value.
      */
     @Generated
-    @JsonProperty(value = "type")
-    private DocumentFieldType type;
+    private final DocumentFieldType type;
 
     /*
      * String value.
      */
     @Generated
-    @JsonProperty(value = "valueString")
     private String valueString;
 
     /*
      * Date value in YYYY-MM-DD format (ISO 8601).
      */
     @Generated
-    @JsonProperty(value = "valueDate")
     private LocalDate valueDate;
 
     /*
      * Time value in hh:mm:ss format (ISO 8601).
      */
     @Generated
-    @JsonProperty(value = "valueTime")
     private String valueTime;
 
     /*
      * Phone number value in E.164 format (ex. +19876543210).
      */
     @Generated
-    @JsonProperty(value = "valuePhoneNumber")
     private String valuePhoneNumber;
 
     /*
      * Floating point value.
      */
     @Generated
-    @JsonProperty(value = "valueNumber")
     private Double valueNumber;
 
     /*
      * Integer value.
      */
     @Generated
-    @JsonProperty(value = "valueInteger")
     private Long valueInteger;
 
     /*
      * Selection mark value.
      */
     @Generated
-    @JsonProperty(value = "valueSelectionMark")
     private DocumentSelectionMarkState valueSelectionMark;
 
     /*
      * Presence of signature.
      */
     @Generated
-    @JsonProperty(value = "valueSignature")
     private DocumentSignatureType valueSignature;
 
     /*
      * 3-letter country code value (ISO 3166-1 alpha-3).
      */
     @Generated
-    @JsonProperty(value = "valueCountryRegion")
     private String valueCountryRegion;
 
     /*
      * Array of field values.
      */
     @Generated
-    @JsonProperty(value = "valueArray")
     private List valueArray;
 
     /*
      * Dictionary of named field values.
      */
     @Generated
-    @JsonProperty(value = "valueObject")
     private Map valueObject;
 
     /*
      * Currency value.
      */
     @Generated
-    @JsonProperty(value = "valueCurrency")
     private CurrencyValue valueCurrency;
 
     /*
      * Address value.
      */
     @Generated
-    @JsonProperty(value = "valueAddress")
     private AddressValue valueAddress;
 
     /*
      * Boolean value.
      */
     @Generated
-    @JsonProperty(value = "valueBoolean")
     private Boolean valueBoolean;
 
     /*
      * Selection group value.
      */
     @Generated
-    @JsonProperty(value = "valueSelectionGroup")
     private List valueSelectionGroup;
 
     /*
      * Field content.
      */
     @Generated
-    @JsonProperty(value = "content")
     private String content;
 
     /*
      * Bounding regions covering the field.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the field in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
     private List spans;
 
     /*
      * Confidence of correctly extracting the field.
      */
     @Generated
-    @JsonProperty(value = "confidence")
     private Double confidence;
 
     /**
@@ -163,8 +147,7 @@ public final class DocumentField {
      * @param type the type value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentField(@JsonProperty(value = "type") DocumentFieldType type) {
+    private DocumentField(DocumentFieldType type) {
         this.type = type;
     }
 
@@ -367,4 +350,142 @@ public List getSpans() {
     public Double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+        jsonWriter.writeStringField("valueString", this.valueString);
+        jsonWriter.writeStringField("valueDate", Objects.toString(this.valueDate, null));
+        jsonWriter.writeStringField("valueTime", this.valueTime);
+        jsonWriter.writeStringField("valuePhoneNumber", this.valuePhoneNumber);
+        jsonWriter.writeNumberField("valueNumber", this.valueNumber);
+        jsonWriter.writeNumberField("valueInteger", this.valueInteger);
+        jsonWriter.writeStringField("valueSelectionMark",
+            this.valueSelectionMark == null ? null : this.valueSelectionMark.toString());
+        jsonWriter.writeStringField("valueSignature",
+            this.valueSignature == null ? null : this.valueSignature.toString());
+        jsonWriter.writeStringField("valueCountryRegion", this.valueCountryRegion);
+        jsonWriter.writeArrayField("valueArray", this.valueArray, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("valueObject", this.valueObject, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("valueCurrency", this.valueCurrency);
+        jsonWriter.writeJsonField("valueAddress", this.valueAddress);
+        jsonWriter.writeBooleanField("valueBoolean", this.valueBoolean);
+        jsonWriter.writeArrayField("valueSelectionGroup", this.valueSelectionGroup,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("confidence", this.confidence);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentField from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentField if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentField.
+     */
+    @Generated
+    public static DocumentField fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentFieldType type = null;
+            String valueString = null;
+            LocalDate valueDate = null;
+            String valueTime = null;
+            String valuePhoneNumber = null;
+            Double valueNumber = null;
+            Long valueInteger = null;
+            DocumentSelectionMarkState valueSelectionMark = null;
+            DocumentSignatureType valueSignature = null;
+            String valueCountryRegion = null;
+            List valueArray = null;
+            Map valueObject = null;
+            CurrencyValue valueCurrency = null;
+            AddressValue valueAddress = null;
+            Boolean valueBoolean = null;
+            List valueSelectionGroup = null;
+            String content = null;
+            List boundingRegions = null;
+            List spans = null;
+            Double confidence = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("type".equals(fieldName)) {
+                    type = DocumentFieldType.fromString(reader.getString());
+                } else if ("valueString".equals(fieldName)) {
+                    valueString = reader.getString();
+                } else if ("valueDate".equals(fieldName)) {
+                    valueDate = reader.getNullable(nonNullReader -> LocalDate.parse(nonNullReader.getString()));
+                } else if ("valueTime".equals(fieldName)) {
+                    valueTime = reader.getString();
+                } else if ("valuePhoneNumber".equals(fieldName)) {
+                    valuePhoneNumber = reader.getString();
+                } else if ("valueNumber".equals(fieldName)) {
+                    valueNumber = reader.getNullable(JsonReader::getDouble);
+                } else if ("valueInteger".equals(fieldName)) {
+                    valueInteger = reader.getNullable(JsonReader::getLong);
+                } else if ("valueSelectionMark".equals(fieldName)) {
+                    valueSelectionMark = DocumentSelectionMarkState.fromString(reader.getString());
+                } else if ("valueSignature".equals(fieldName)) {
+                    valueSignature = DocumentSignatureType.fromString(reader.getString());
+                } else if ("valueCountryRegion".equals(fieldName)) {
+                    valueCountryRegion = reader.getString();
+                } else if ("valueArray".equals(fieldName)) {
+                    valueArray = reader.readArray(reader1 -> DocumentField.fromJson(reader1));
+                } else if ("valueObject".equals(fieldName)) {
+                    valueObject = reader.readMap(reader1 -> DocumentField.fromJson(reader1));
+                } else if ("valueCurrency".equals(fieldName)) {
+                    valueCurrency = CurrencyValue.fromJson(reader);
+                } else if ("valueAddress".equals(fieldName)) {
+                    valueAddress = AddressValue.fromJson(reader);
+                } else if ("valueBoolean".equals(fieldName)) {
+                    valueBoolean = reader.getNullable(JsonReader::getBoolean);
+                } else if ("valueSelectionGroup".equals(fieldName)) {
+                    valueSelectionGroup = reader.readArray(reader1 -> reader1.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getNullable(JsonReader::getDouble);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentField deserializedDocumentField = new DocumentField(type);
+            deserializedDocumentField.valueString = valueString;
+            deserializedDocumentField.valueDate = valueDate;
+            deserializedDocumentField.valueTime = valueTime;
+            deserializedDocumentField.valuePhoneNumber = valuePhoneNumber;
+            deserializedDocumentField.valueNumber = valueNumber;
+            deserializedDocumentField.valueInteger = valueInteger;
+            deserializedDocumentField.valueSelectionMark = valueSelectionMark;
+            deserializedDocumentField.valueSignature = valueSignature;
+            deserializedDocumentField.valueCountryRegion = valueCountryRegion;
+            deserializedDocumentField.valueArray = valueArray;
+            deserializedDocumentField.valueObject = valueObject;
+            deserializedDocumentField.valueCurrency = valueCurrency;
+            deserializedDocumentField.valueAddress = valueAddress;
+            deserializedDocumentField.valueBoolean = valueBoolean;
+            deserializedDocumentField.valueSelectionGroup = valueSelectionGroup;
+            deserializedDocumentField.content = content;
+            deserializedDocumentField.boundingRegions = boundingRegions;
+            deserializedDocumentField.spans = spans;
+            deserializedDocumentField.confidence = confidence;
+
+            return deserializedDocumentField;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java
index 10dc97495412..27d45bb2b2be 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldSchema.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Description of the field semantic schema using a JSON Schema style syntax.
  */
 @Immutable
-public final class DocumentFieldSchema {
+public final class DocumentFieldSchema implements JsonSerializable {
     /*
      * Semantic data type of the field value.
      */
     @Generated
-    @JsonProperty(value = "type")
-    private DocumentFieldType type;
+    private final DocumentFieldType type;
 
     /*
      * Field description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Example field content.
      */
     @Generated
-    @JsonProperty(value = "example")
     private String example;
 
     /*
      * Field type schema of each array element.
      */
     @Generated
-    @JsonProperty(value = "items")
     private DocumentFieldSchema items;
 
     /*
      * Named sub-fields of the object field.
      */
     @Generated
-    @JsonProperty(value = "properties")
     private Map properties;
 
     /**
@@ -56,8 +54,7 @@ public final class DocumentFieldSchema {
      * @param type the type value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFieldSchema(@JsonProperty(value = "type") DocumentFieldType type) {
+    private DocumentFieldSchema(DocumentFieldType type) {
         this.type = type;
     }
 
@@ -110,4 +107,63 @@ public DocumentFieldSchema getItems() {
     public Map getProperties() {
         return this.properties;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("example", this.example);
+        jsonWriter.writeJsonField("items", this.items);
+        jsonWriter.writeMapField("properties", this.properties, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFieldSchema from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFieldSchema if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFieldSchema.
+     */
+    @Generated
+    public static DocumentFieldSchema fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentFieldType type = null;
+            String description = null;
+            String example = null;
+            DocumentFieldSchema items = null;
+            Map properties = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("type".equals(fieldName)) {
+                    type = DocumentFieldType.fromString(reader.getString());
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("example".equals(fieldName)) {
+                    example = reader.getString();
+                } else if ("items".equals(fieldName)) {
+                    items = DocumentFieldSchema.fromJson(reader);
+                } else if ("properties".equals(fieldName)) {
+                    properties = reader.readMap(reader1 -> DocumentFieldSchema.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFieldSchema deserializedDocumentFieldSchema = new DocumentFieldSchema(type);
+            deserializedDocumentFieldSchema.description = description;
+            deserializedDocumentFieldSchema.example = example;
+            deserializedDocumentFieldSchema.items = items;
+            deserializedDocumentFieldSchema.properties = properties;
+
+            return deserializedDocumentFieldSchema;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java
index 24279473af97..7a44e88d902f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFieldType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -120,7 +119,6 @@ public DocumentFieldType() {
      * @return the corresponding DocumentFieldType.
      */
     @Generated
-    @JsonCreator
     public static DocumentFieldType fromString(String name) {
         return fromString(name, DocumentFieldType.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java
index 1f9431845b09..b96dd53828b7 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFigure.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a figure in the document.
  */
 @Immutable
-public final class DocumentFigure {
+public final class DocumentFigure implements JsonSerializable {
     /*
      * Bounding regions covering the figure.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the figure in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the figure, excluding any caption or footnotes.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /*
      * Caption associated with the figure.
      */
     @Generated
-    @JsonProperty(value = "caption")
     private DocumentCaption caption;
 
     /*
      * List of footnotes associated with the figure.
      */
     @Generated
-    @JsonProperty(value = "footnotes")
     private List footnotes;
 
     /**
@@ -56,8 +54,7 @@ public final class DocumentFigure {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFigure(@JsonProperty(value = "spans") List spans) {
+    private DocumentFigure(List spans) {
         this.spans = spans;
     }
 
@@ -110,4 +107,64 @@ public DocumentCaption getCaption() {
     public List getFootnotes() {
         return this.footnotes;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("caption", this.caption);
+        jsonWriter.writeArrayField("footnotes", this.footnotes, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFigure from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFigure if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFigure.
+     */
+    @Generated
+    public static DocumentFigure fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            DocumentCaption caption = null;
+            List footnotes = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else if ("caption".equals(fieldName)) {
+                    caption = DocumentCaption.fromJson(reader);
+                } else if ("footnotes".equals(fieldName)) {
+                    footnotes = reader.readArray(reader1 -> DocumentFootnote.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFigure deserializedDocumentFigure = new DocumentFigure(spans);
+            deserializedDocumentFigure.boundingRegions = boundingRegions;
+            deserializedDocumentFigure.elements = elements;
+            deserializedDocumentFigure.caption = caption;
+            deserializedDocumentFigure.footnotes = footnotes;
+
+            return deserializedDocumentFigure;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java
index b2a5ba356d01..b38ea2abc830 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFootnote.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A footnote object describing a table or figure.
  */
 @Immutable
-public final class DocumentFootnote {
+public final class DocumentFootnote implements JsonSerializable {
     /*
      * Content of the footnote.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the footnote.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the footnote in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the footnote.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -50,9 +49,7 @@ public final class DocumentFootnote {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFootnote(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentFootnote(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -96,4 +93,58 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFootnote from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFootnote if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFootnote.
+     */
+    @Generated
+    public static DocumentFootnote fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFootnote deserializedDocumentFootnote = new DocumentFootnote(content, spans);
+            deserializedDocumentFootnote.boundingRegions = boundingRegions;
+            deserializedDocumentFootnote.elements = elements;
+
+            return deserializedDocumentFootnote;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java
index cfacd214a237..67ea57cea9f2 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormula.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A formula object.
  */
 @Immutable
-public final class DocumentFormula {
+public final class DocumentFormula implements JsonSerializable {
     /*
      * Formula kind.
      */
     @Generated
-    @JsonProperty(value = "kind")
-    private DocumentFormulaKind kind;
+    private final DocumentFormulaKind kind;
 
     /*
      * LaTex expression describing the formula.
      */
     @Generated
-    @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /*
      * Bounding polygon of the formula, with coordinates specified relative to the
@@ -36,22 +37,19 @@ public final class DocumentFormula {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the formula in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the formula.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentFormula class.
@@ -62,10 +60,7 @@ public final class DocumentFormula {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentFormula(@JsonProperty(value = "kind") DocumentFormulaKind kind,
-        @JsonProperty(value = "value") String value, @JsonProperty(value = "span") DocumentSpan span,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentFormula(DocumentFormulaKind kind, String value, DocumentSpan span, double confidence) {
         this.kind = kind;
         this.value = value;
         this.span = span;
@@ -124,4 +119,60 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeStringField("value", this.value);
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentFormula from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentFormula if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentFormula.
+     */
+    @Generated
+    public static DocumentFormula fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentFormulaKind kind = null;
+            String value = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("kind".equals(fieldName)) {
+                    kind = DocumentFormulaKind.fromString(reader.getString());
+                } else if ("value".equals(fieldName)) {
+                    value = reader.getString();
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentFormula deserializedDocumentFormula = new DocumentFormula(kind, value, span, confidence);
+            deserializedDocumentFormula.polygon = polygon;
+
+            return deserializedDocumentFormula;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java
index 22e009191a1b..c7207ca50048 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentFormulaKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public DocumentFormulaKind() {
      * @return the corresponding DocumentFormulaKind.
      */
     @Generated
-    @JsonCreator
     public static DocumentFormulaKind fromString(String name) {
         return fromString(name, DocumentFormulaKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java
index 10dbd8ba27e4..6358b99b42c2 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValueElement.java
@@ -6,35 +6,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing the field key or value in a key-value pair.
  */
 @Immutable
-public final class DocumentKeyValueElement {
+public final class DocumentKeyValueElement implements JsonSerializable {
     /*
      * Concatenated content of the key-value element in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the key-value element.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the key-value element in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /**
      * Creates an instance of DocumentKeyValueElement class.
@@ -43,9 +43,7 @@ public final class DocumentKeyValueElement {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentKeyValueElement(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentKeyValueElement(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -79,4 +77,53 @@ public List getBoundingRegions() {
     public List getSpans() {
         return this.spans;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentKeyValueElement from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentKeyValueElement if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentKeyValueElement.
+     */
+    @Generated
+    public static DocumentKeyValueElement fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentKeyValueElement deserializedDocumentKeyValueElement = new DocumentKeyValueElement(content, spans);
+            deserializedDocumentKeyValueElement.boundingRegions = boundingRegions;
+
+            return deserializedDocumentKeyValueElement;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java
index c11d29d91845..f09fdc95aa7f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentKeyValuePair.java
@@ -6,35 +6,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An object representing a form field with distinct field label (key) and field
  * value (may be empty).
  */
 @Immutable
-public final class DocumentKeyValuePair {
+public final class DocumentKeyValuePair implements JsonSerializable {
     /*
      * Field label of the key-value pair.
      */
     @Generated
-    @JsonProperty(value = "key")
-    private DocumentKeyValueElement key;
+    private final DocumentKeyValueElement key;
 
     /*
      * Field value of the key-value pair.
      */
     @Generated
-    @JsonProperty(value = "value")
     private DocumentKeyValueElement value;
 
     /*
      * Confidence of correctly extracting the key-value pair.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentKeyValuePair class.
@@ -43,9 +43,7 @@ public final class DocumentKeyValuePair {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentKeyValuePair(@JsonProperty(value = "key") DocumentKeyValueElement key,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentKeyValuePair(DocumentKeyValueElement key, double confidence) {
         this.key = key;
         this.confidence = confidence;
     }
@@ -79,4 +77,52 @@ public DocumentKeyValueElement getValue() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("key", this.key);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeJsonField("value", this.value);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentKeyValuePair from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentKeyValuePair if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentKeyValuePair.
+     */
+    @Generated
+    public static DocumentKeyValuePair fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentKeyValueElement key = null;
+            double confidence = 0.0;
+            DocumentKeyValueElement value = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("key".equals(fieldName)) {
+                    key = DocumentKeyValueElement.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("value".equals(fieldName)) {
+                    value = DocumentKeyValueElement.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentKeyValuePair deserializedDocumentKeyValuePair = new DocumentKeyValuePair(key, confidence);
+            deserializedDocumentKeyValuePair.value = value;
+
+            return deserializedDocumentKeyValuePair;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java
index 0c039d921dee..a3f481cf5157 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLanguage.java
@@ -6,37 +6,37 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing the detected language for a given text span.
  */
 @Immutable
-public final class DocumentLanguage {
+public final class DocumentLanguage implements JsonSerializable {
     /*
-     * Detected language. Value may an ISO 639-1 language code (ex. "en", "fr")
+     * Detected language.  Value may an ISO 639-1 language code (ex. "en", "fr")
      * or BCP 47 language tag (ex. "zh-Hans").
      */
     @Generated
-    @JsonProperty(value = "locale")
-    private String locale;
+    private final String locale;
 
     /*
      * Location of the text elements in the concatenated content the language applies
      * to.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Confidence of correctly identifying the language.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentLanguage class.
@@ -46,17 +46,14 @@ public final class DocumentLanguage {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentLanguage(@JsonProperty(value = "locale") String locale,
-        @JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentLanguage(String locale, List spans, double confidence) {
         this.locale = locale;
         this.spans = spans;
         this.confidence = confidence;
     }
 
     /**
-     * Get the locale property: Detected language. Value may an ISO 639-1 language code (ex. "en", "fr")
+     * Get the locale property: Detected language.  Value may an ISO 639-1 language code (ex. "en", "fr")
      * or BCP 47 language tag (ex. "zh-Hans").
      * 
      * @return the locale value.
@@ -86,4 +83,49 @@ public List getSpans() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("locale", this.locale);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentLanguage from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentLanguage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentLanguage.
+     */
+    @Generated
+    public static DocumentLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String locale = null;
+            List spans = null;
+            double confidence = 0.0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("locale".equals(fieldName)) {
+                    locale = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DocumentLanguage(locale, spans, confidence);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java
index 295ee9f5a37a..a36c2ba6b89f 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentLine.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,13 +18,12 @@
  * such as words and selection marks.
  */
 @Immutable
-public final class DocumentLine {
+public final class DocumentLine implements JsonSerializable {
     /*
      * Concatenated content of the contained elements in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding polygon of the line, with coordinates specified relative to the
@@ -30,15 +32,13 @@ public final class DocumentLine {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the line in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /**
      * Creates an instance of DocumentLine class.
@@ -47,9 +47,7 @@ public final class DocumentLine {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentLine(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentLine(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -86,4 +84,52 @@ public List getPolygon() {
     public List getSpans() {
         return this.spans;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentLine from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentLine if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentLine.
+     */
+    @Generated
+    public static DocumentLine fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentLine deserializedDocumentLine = new DocumentLine(content, spans);
+            deserializedDocumentLine.polygon = polygon;
+
+            return deserializedDocumentLine;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java
index 950ee1dc4517..26aeac9923f3 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentList.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a list in the document.
  */
 @Immutable
-public final class DocumentList {
+public final class DocumentList implements JsonSerializable {
     /*
      * Location of the list in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Items in the list.
      */
     @Generated
-    @JsonProperty(value = "items")
-    private List items;
+    private final List items;
 
     /**
      * Creates an instance of DocumentList class.
@@ -36,9 +37,7 @@ public final class DocumentList {
      * @param items the items value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentList(@JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "items") List items) {
+    private DocumentList(List spans, List items) {
         this.spans = spans;
         this.items = items;
     }
@@ -62,4 +61,45 @@ public List getSpans() {
     public List getItems() {
         return this.items;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentList from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentList if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentList.
+     */
+    @Generated
+    public static DocumentList fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            List items = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("items".equals(fieldName)) {
+                    items = reader.readArray(reader1 -> DocumentListItem.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DocumentList(spans, items);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java
index 45317a400e03..b3215bc2dcb1 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentListItem.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a list item in the document.
  */
 @Immutable
-public final class DocumentListItem {
+public final class DocumentListItem implements JsonSerializable {
     /*
      * Level of the list item (1-indexed).
      */
     @Generated
-    @JsonProperty(value = "level")
-    private int level;
+    private final int level;
 
     /*
      * Content of the list item.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the list item.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the list item in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the list item.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -58,9 +56,7 @@ public final class DocumentListItem {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentListItem(@JsonProperty(value = "level") int level, @JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentListItem(int level, String content, List spans) {
         this.level = level;
         this.content = content;
         this.spans = spans;
@@ -115,4 +111,62 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("level", this.level);
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentListItem from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentListItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentListItem.
+     */
+    @Generated
+    public static DocumentListItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int level = 0;
+            String content = null;
+            List spans = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("level".equals(fieldName)) {
+                    level = reader.getInt();
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentListItem deserializedDocumentListItem = new DocumentListItem(level, content, spans);
+            deserializedDocumentListItem.boundingRegions = boundingRegions;
+            deserializedDocumentListItem.elements = elements;
+
+            return deserializedDocumentListItem;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java
index aae67ee13d2f..6d5870f585f7 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelBuildOperationDetails.java
@@ -6,24 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentModelBuild")
 @Immutable
 public final class DocumentModelBuildOperationDetails extends OperationDetails {
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentModelDetails result;
 
     /**
@@ -35,12 +34,10 @@ public final class DocumentModelBuildOperationDetails extends OperationDetails {
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelBuildOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentModelBuildOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
+        setKind(OperationKind.DOCUMENT_MODEL_BUILD);
     }
 
     /**
@@ -52,4 +49,97 @@ private DocumentModelBuildOperationDetails(@JsonProperty(value = "status") Opera
     public DocumentModelDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeStringField("kind", getKind() == null ? null : getKind().toString());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelBuildOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelBuildOperationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelBuildOperationDetails.
+     */
+    @Generated
+    public static DocumentModelBuildOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            OperationKind kind = OperationKind.DOCUMENT_MODEL_BUILD;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            DocumentModelDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentModelDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelBuildOperationDetails deserializedDocumentModelBuildOperationDetails
+                = new DocumentModelBuildOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentModelBuildOperationDetails.setOperationId(operationId);
+            deserializedDocumentModelBuildOperationDetails.setKind(kind);
+            deserializedDocumentModelBuildOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentModelBuildOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentModelBuildOperationDetails.setTags(tags);
+            deserializedDocumentModelBuildOperationDetails.setError(error);
+            deserializedDocumentModelBuildOperationDetails.result = result;
+
+            return deserializedDocumentModelBuildOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java
index fad68af17161..fb56913e98b1 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelComposeOperationDetails.java
@@ -6,24 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentModelCompose")
 @Immutable
 public final class DocumentModelComposeOperationDetails extends OperationDetails {
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentModelDetails result;
 
     /**
@@ -35,12 +34,10 @@ public final class DocumentModelComposeOperationDetails extends OperationDetails
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelComposeOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentModelComposeOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
+        setKind(OperationKind.DOCUMENT_MODEL_COMPOSE);
     }
 
     /**
@@ -52,4 +49,97 @@ private DocumentModelComposeOperationDetails(@JsonProperty(value = "status") Ope
     public DocumentModelDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeStringField("kind", getKind() == null ? null : getKind().toString());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelComposeOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelComposeOperationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelComposeOperationDetails.
+     */
+    @Generated
+    public static DocumentModelComposeOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            OperationKind kind = OperationKind.DOCUMENT_MODEL_COMPOSE;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            DocumentModelDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentModelDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelComposeOperationDetails deserializedDocumentModelComposeOperationDetails
+                = new DocumentModelComposeOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentModelComposeOperationDetails.setOperationId(operationId);
+            deserializedDocumentModelComposeOperationDetails.setKind(kind);
+            deserializedDocumentModelComposeOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentModelComposeOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentModelComposeOperationDetails.setTags(tags);
+            deserializedDocumentModelComposeOperationDetails.setError(error);
+            deserializedDocumentModelComposeOperationDetails.result = result;
+
+            return deserializedDocumentModelComposeOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java
index 10379ae40177..5c559b063357 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelCopyToOperationDetails.java
@@ -6,24 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Map;
 
 /**
  * Get Operation response object.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
-@JsonTypeName("documentModelCopyTo")
 @Immutable
 public final class DocumentModelCopyToOperationDetails extends OperationDetails {
     /*
      * Operation result upon success.
      */
     @Generated
-    @JsonProperty(value = "result")
     private DocumentModelDetails result;
 
     /**
@@ -35,12 +34,10 @@ public final class DocumentModelCopyToOperationDetails extends OperationDetails
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelCopyToOperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    private DocumentModelCopyToOperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
         super(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
+        setKind(OperationKind.DOCUMENT_MODEL_COPY_TO);
     }
 
     /**
@@ -52,4 +49,97 @@ private DocumentModelCopyToOperationDetails(@JsonProperty(value = "status") Oper
     public DocumentModelDetails getResult() {
         return this.result;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString());
+        jsonWriter.writeStringField("createdDateTime",
+            getCreatedDateTime() == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getCreatedDateTime()));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            getLastUpdatedDateTime() == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(getLastUpdatedDateTime()));
+        jsonWriter.writeStringField("resourceLocation", getResourceLocation());
+        jsonWriter.writeStringField("kind", getKind() == null ? null : getKind().toString());
+        jsonWriter.writeNumberField("percentCompleted", getPercentCompleted());
+        jsonWriter.writeStringField("apiVersion", getApiVersion());
+        jsonWriter.writeMapField("tags", getTags(), (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", getError());
+        jsonWriter.writeJsonField("result", this.result);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelCopyToOperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelCopyToOperationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelCopyToOperationDetails.
+     */
+    @Generated
+    public static DocumentModelCopyToOperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            OperationKind kind = OperationKind.DOCUMENT_MODEL_COPY_TO;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            DocumentModelDetails result = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else if ("result".equals(fieldName)) {
+                    result = DocumentModelDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelCopyToOperationDetails deserializedDocumentModelCopyToOperationDetails
+                = new DocumentModelCopyToOperationDetails(status, createdDateTime, lastUpdatedDateTime,
+                    resourceLocation);
+            deserializedDocumentModelCopyToOperationDetails.setOperationId(operationId);
+            deserializedDocumentModelCopyToOperationDetails.setKind(kind);
+            deserializedDocumentModelCopyToOperationDetails.setPercentCompleted(percentCompleted);
+            deserializedDocumentModelCopyToOperationDetails.setApiVersion(apiVersion);
+            deserializedDocumentModelCopyToOperationDetails.setTags(tags);
+            deserializedDocumentModelCopyToOperationDetails.setError(error);
+            deserializedDocumentModelCopyToOperationDetails.result = result;
+
+            return deserializedDocumentModelCopyToOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java
index 34c3d518297f..bcf61e1b00c5 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentModelDetails.java
@@ -6,9 +6,13 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -16,84 +20,73 @@
  * Document model info.
  */
 @Immutable
-public final class DocumentModelDetails {
+public final class DocumentModelDetails implements JsonSerializable {
     /*
      * Unique document model name.
      */
     @Generated
-    @JsonProperty(value = "modelId", access = JsonProperty.Access.WRITE_ONLY)
     private String modelId;
 
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Date and time (UTC) when the document model was created.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the document model will expire.
      */
     @Generated
-    @JsonProperty(value = "expirationDateTime")
     private OffsetDateTime expirationDateTime;
 
     /*
      * API version used to create this document model.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
     private String apiVersion;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /*
      * Custom document model build mode.
      */
     @Generated
-    @JsonProperty(value = "buildMode")
     private DocumentBuildMode buildMode;
 
     /*
-     * Azure Blob Storage location containing the training data. Either
+     * Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobSource")
     private AzureBlobContentSource azureBlobSource;
 
     /*
-     * Azure Blob Storage file list specifying the training data. Either
+     * Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      */
     @Generated
-    @JsonProperty(value = "azureBlobFileListSource")
     private AzureBlobFileListContentSource azureBlobFileListSource;
 
     /*
      * Supported document types.
      */
     @Generated
-    @JsonProperty(value = "docTypes")
     private Map docTypes;
 
     /*
      * List of warnings encountered while building the model.
      */
     @Generated
-    @JsonProperty(value = "warnings")
     private List warnings;
 
     /**
@@ -102,8 +95,7 @@ public final class DocumentModelDetails {
      * @param createdDateTime the createdDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentModelDetails(@JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime) {
+    private DocumentModelDetails(OffsetDateTime createdDateTime) {
         this.createdDateTime = createdDateTime;
     }
 
@@ -178,7 +170,7 @@ public DocumentBuildMode getBuildMode() {
     }
 
     /**
-     * Get the azureBlobSource property: Azure Blob Storage location containing the training data. Either
+     * Get the azureBlobSource property: Azure Blob Storage location containing the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      * 
      * @return the azureBlobSource value.
@@ -189,7 +181,7 @@ public AzureBlobContentSource getAzureBlobSource() {
     }
 
     /**
-     * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data. Either
+     * Get the azureBlobFileListSource property: Azure Blob Storage file list specifying the training data.  Either
      * azureBlobSource or azureBlobFileListSource must be specified.
      * 
      * @return the azureBlobFileListSource value.
@@ -218,4 +210,98 @@ public Map getDocTypes() {
     public List getWarnings() {
         return this.warnings;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("expirationDateTime",
+            this.expirationDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expirationDateTime));
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("buildMode", this.buildMode == null ? null : this.buildMode.toString());
+        jsonWriter.writeJsonField("azureBlobSource", this.azureBlobSource);
+        jsonWriter.writeJsonField("azureBlobFileListSource", this.azureBlobFileListSource);
+        jsonWriter.writeMapField("docTypes", this.docTypes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("warnings", this.warnings, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentModelDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentModelDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentModelDetails.
+     */
+    @Generated
+    public static DocumentModelDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String modelId = null;
+            OffsetDateTime createdDateTime = null;
+            String description = null;
+            OffsetDateTime expirationDateTime = null;
+            String apiVersion = null;
+            Map tags = null;
+            DocumentBuildMode buildMode = null;
+            AzureBlobContentSource azureBlobSource = null;
+            AzureBlobFileListContentSource azureBlobFileListSource = null;
+            Map docTypes = null;
+            List warnings = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("modelId".equals(fieldName)) {
+                    modelId = reader.getString();
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("expirationDateTime".equals(fieldName)) {
+                    expirationDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("buildMode".equals(fieldName)) {
+                    buildMode = DocumentBuildMode.fromString(reader.getString());
+                } else if ("azureBlobSource".equals(fieldName)) {
+                    azureBlobSource = AzureBlobContentSource.fromJson(reader);
+                } else if ("azureBlobFileListSource".equals(fieldName)) {
+                    azureBlobFileListSource = AzureBlobFileListContentSource.fromJson(reader);
+                } else if ("docTypes".equals(fieldName)) {
+                    docTypes = reader.readMap(reader1 -> DocumentTypeDetails.fromJson(reader1));
+                } else if ("warnings".equals(fieldName)) {
+                    warnings = reader.readArray(reader1 -> Warning.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentModelDetails deserializedDocumentModelDetails = new DocumentModelDetails(createdDateTime);
+            deserializedDocumentModelDetails.modelId = modelId;
+            deserializedDocumentModelDetails.description = description;
+            deserializedDocumentModelDetails.expirationDateTime = expirationDateTime;
+            deserializedDocumentModelDetails.apiVersion = apiVersion;
+            deserializedDocumentModelDetails.tags = tags;
+            deserializedDocumentModelDetails.buildMode = buildMode;
+            deserializedDocumentModelDetails.azureBlobSource = azureBlobSource;
+            deserializedDocumentModelDetails.azureBlobFileListSource = azureBlobFileListSource;
+            deserializedDocumentModelDetails.docTypes = docTypes;
+            deserializedDocumentModelDetails.warnings = warnings;
+
+            return deserializedDocumentModelDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java
index b7368d85ab01..4b7f1d4cdfa2 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentPage.java
@@ -6,42 +6,41 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Content and layout elements extracted from a page from the input.
  */
 @Immutable
-public final class DocumentPage {
+public final class DocumentPage implements JsonSerializable {
     /*
      * 1-based page number in the input document.
      */
     @Generated
-    @JsonProperty(value = "pageNumber")
-    private int pageNumber;
+    private final int pageNumber;
 
     /*
      * The general orientation of the content in clockwise direction, measured in
      * degrees between (-180, 180].
      */
     @Generated
-    @JsonProperty(value = "angle")
     private Double angle;
 
     /*
      * The width of the image/PDF in pixels/inches, respectively.
      */
     @Generated
-    @JsonProperty(value = "width")
     private Double width;
 
     /*
      * The height of the image/PDF in pixels/inches, respectively.
      */
     @Generated
-    @JsonProperty(value = "height")
     private Double height;
 
     /*
@@ -49,28 +48,24 @@ public final class DocumentPage {
      * unit is "pixel". For PDF, the unit is "inch".
      */
     @Generated
-    @JsonProperty(value = "unit")
     private LengthUnit unit;
 
     /*
      * Location of the page in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Extracted words from the page.
      */
     @Generated
-    @JsonProperty(value = "words")
     private List words;
 
     /*
      * Extracted selection marks from the page.
      */
     @Generated
-    @JsonProperty(value = "selectionMarks")
     private List selectionMarks;
 
     /*
@@ -78,21 +73,18 @@ public final class DocumentPage {
      * elements.
      */
     @Generated
-    @JsonProperty(value = "lines")
     private List lines;
 
     /*
      * Extracted barcodes from the page.
      */
     @Generated
-    @JsonProperty(value = "barcodes")
     private List barcodes;
 
     /*
      * Extracted formulas from the page.
      */
     @Generated
-    @JsonProperty(value = "formulas")
     private List formulas;
 
     /**
@@ -102,9 +94,7 @@ public final class DocumentPage {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentPage(@JsonProperty(value = "pageNumber") int pageNumber,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentPage(int pageNumber, List spans) {
         this.pageNumber = pageNumber;
         this.spans = spans;
     }
@@ -221,4 +211,93 @@ public List getBarcodes() {
     public List getFormulas() {
         return this.formulas;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("pageNumber", this.pageNumber);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("angle", this.angle);
+        jsonWriter.writeNumberField("width", this.width);
+        jsonWriter.writeNumberField("height", this.height);
+        jsonWriter.writeStringField("unit", this.unit == null ? null : this.unit.toString());
+        jsonWriter.writeArrayField("words", this.words, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("selectionMarks", this.selectionMarks,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("lines", this.lines, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("barcodes", this.barcodes, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("formulas", this.formulas, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentPage from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentPage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentPage.
+     */
+    @Generated
+    public static DocumentPage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int pageNumber = 0;
+            List spans = null;
+            Double angle = null;
+            Double width = null;
+            Double height = null;
+            LengthUnit unit = null;
+            List words = null;
+            List selectionMarks = null;
+            List lines = null;
+            List barcodes = null;
+            List formulas = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("pageNumber".equals(fieldName)) {
+                    pageNumber = reader.getInt();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("angle".equals(fieldName)) {
+                    angle = reader.getNullable(JsonReader::getDouble);
+                } else if ("width".equals(fieldName)) {
+                    width = reader.getNullable(JsonReader::getDouble);
+                } else if ("height".equals(fieldName)) {
+                    height = reader.getNullable(JsonReader::getDouble);
+                } else if ("unit".equals(fieldName)) {
+                    unit = LengthUnit.fromString(reader.getString());
+                } else if ("words".equals(fieldName)) {
+                    words = reader.readArray(reader1 -> DocumentWord.fromJson(reader1));
+                } else if ("selectionMarks".equals(fieldName)) {
+                    selectionMarks = reader.readArray(reader1 -> DocumentSelectionMark.fromJson(reader1));
+                } else if ("lines".equals(fieldName)) {
+                    lines = reader.readArray(reader1 -> DocumentLine.fromJson(reader1));
+                } else if ("barcodes".equals(fieldName)) {
+                    barcodes = reader.readArray(reader1 -> DocumentBarcode.fromJson(reader1));
+                } else if ("formulas".equals(fieldName)) {
+                    formulas = reader.readArray(reader1 -> DocumentFormula.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentPage deserializedDocumentPage = new DocumentPage(pageNumber, spans);
+            deserializedDocumentPage.angle = angle;
+            deserializedDocumentPage.width = width;
+            deserializedDocumentPage.height = height;
+            deserializedDocumentPage.unit = unit;
+            deserializedDocumentPage.words = words;
+            deserializedDocumentPage.selectionMarks = selectionMarks;
+            deserializedDocumentPage.lines = lines;
+            deserializedDocumentPage.barcodes = barcodes;
+            deserializedDocumentPage.formulas = formulas;
+
+            return deserializedDocumentPage;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java
index 78d7404b0ab3..d5ac48773d41 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentParagraph.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,34 +18,30 @@
  * alignment and spacing.
  */
 @Immutable
-public final class DocumentParagraph {
+public final class DocumentParagraph implements JsonSerializable {
     /*
      * Semantic role of the paragraph.
      */
     @Generated
-    @JsonProperty(value = "role")
     private ParagraphRole role;
 
     /*
      * Concatenated content of the paragraph in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the paragraph.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the paragraph in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /**
      * Creates an instance of DocumentParagraph class.
@@ -51,9 +50,7 @@ public final class DocumentParagraph {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentParagraph(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentParagraph(String content, List spans) {
         this.content = content;
         this.spans = spans;
     }
@@ -97,4 +94,58 @@ public List getBoundingRegions() {
     public List getSpans() {
         return this.spans;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString());
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentParagraph from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentParagraph if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentParagraph.
+     */
+    @Generated
+    public static DocumentParagraph fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            List spans = null;
+            ParagraphRole role = null;
+            List boundingRegions = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("role".equals(fieldName)) {
+                    role = ParagraphRole.fromString(reader.getString());
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentParagraph deserializedDocumentParagraph = new DocumentParagraph(content, spans);
+            deserializedDocumentParagraph.role = role;
+            deserializedDocumentParagraph.boundingRegions = boundingRegions;
+
+            return deserializedDocumentParagraph;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java
index 74b92853346b..a758633ad286 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSection.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing a section in the document.
  */
 @Immutable
-public final class DocumentSection {
+public final class DocumentSection implements JsonSerializable {
     /*
      * Location of the section in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the section.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -35,8 +36,7 @@ public final class DocumentSection {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentSection(@JsonProperty(value = "spans") List spans) {
+    private DocumentSection(List spans) {
         this.spans = spans;
     }
 
@@ -59,4 +59,48 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentSection from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentSection if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentSection.
+     */
+    @Generated
+    public static DocumentSection fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentSection deserializedDocumentSection = new DocumentSection(spans);
+            deserializedDocumentSection.elements = elements;
+
+            return deserializedDocumentSection;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java
index f1a3f5e072e5..0097ac4dedf7 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMark.java
@@ -6,8 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,13 +18,12 @@
  * elements indicating a selection.
  */
 @Immutable
-public final class DocumentSelectionMark {
+public final class DocumentSelectionMark implements JsonSerializable {
     /*
      * State of the selection mark.
      */
     @Generated
-    @JsonProperty(value = "state")
-    private DocumentSelectionMarkState state;
+    private final DocumentSelectionMarkState state;
 
     /*
      * Bounding polygon of the selection mark, with coordinates specified relative
@@ -30,22 +32,19 @@ public final class DocumentSelectionMark {
      * to the element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the selection mark in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the selection mark.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentSelectionMark class.
@@ -55,9 +54,7 @@ public final class DocumentSelectionMark {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentSelectionMark(@JsonProperty(value = "state") DocumentSelectionMarkState state,
-        @JsonProperty(value = "span") DocumentSpan span, @JsonProperty(value = "confidence") double confidence) {
+    private DocumentSelectionMark(DocumentSelectionMarkState state, DocumentSpan span, double confidence) {
         this.state = state;
         this.span = span;
         this.confidence = confidence;
@@ -105,4 +102,57 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("state", this.state == null ? null : this.state.toString());
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentSelectionMark from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentSelectionMark if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentSelectionMark.
+     */
+    @Generated
+    public static DocumentSelectionMark fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DocumentSelectionMarkState state = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("state".equals(fieldName)) {
+                    state = DocumentSelectionMarkState.fromString(reader.getString());
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentSelectionMark deserializedDocumentSelectionMark
+                = new DocumentSelectionMark(state, span, confidence);
+            deserializedDocumentSelectionMark.polygon = polygon;
+
+            return deserializedDocumentSelectionMark;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java
index 1c359f354606..9785af8119ac 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSelectionMarkState.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -43,7 +42,6 @@ public DocumentSelectionMarkState() {
      * @return the corresponding DocumentSelectionMarkState.
      */
     @Generated
-    @JsonCreator
     public static DocumentSelectionMarkState fromString(String name) {
         return fromString(name, DocumentSelectionMarkState.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java
index e74972c9fc83..1178ff997092 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSignatureType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public DocumentSignatureType() {
      * @return the corresponding DocumentSignatureType.
      */
     @Generated
-    @JsonCreator
     public static DocumentSignatureType fromString(String name) {
         return fromString(name, DocumentSignatureType.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java
index 2f68e0e0d5fc..0259fe38be03 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentSpan.java
@@ -6,28 +6,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Contiguous region of the concatenated content property, specified as an offset
  * and length.
  */
 @Immutable
-public final class DocumentSpan {
+public final class DocumentSpan implements JsonSerializable {
     /*
      * Zero-based index of the content represented by the span.
      */
     @Generated
-    @JsonProperty(value = "offset")
-    private int offset;
+    private final int offset;
 
     /*
      * Number of characters in the content represented by the span.
      */
     @Generated
-    @JsonProperty(value = "length")
-    private int length;
+    private final int length;
 
     /**
      * Creates an instance of DocumentSpan class.
@@ -36,8 +37,7 @@ public final class DocumentSpan {
      * @param length the length value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentSpan(@JsonProperty(value = "offset") int offset, @JsonProperty(value = "length") int length) {
+    private DocumentSpan(int offset, int length) {
         this.offset = offset;
         this.length = length;
     }
@@ -61,4 +61,45 @@ public int getOffset() {
     public int getLength() {
         return this.length;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("offset", this.offset);
+        jsonWriter.writeIntField("length", this.length);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentSpan from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentSpan if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentSpan.
+     */
+    @Generated
+    public static DocumentSpan fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int offset = 0;
+            int length = 0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("offset".equals(fieldName)) {
+                    offset = reader.getInt();
+                } else if ("length".equals(fieldName)) {
+                    length = reader.getInt();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DocumentSpan(offset, length);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java
index 192323533e46..e160d75753fe 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentStyle.java
@@ -6,20 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing observed text styles.
  */
 @Immutable
-public final class DocumentStyle {
+public final class DocumentStyle implements JsonSerializable {
     /*
      * Is content handwritten?
      */
     @Generated
-    @JsonProperty(value = "isHandwritten")
     private Boolean isHandwritten;
 
     /*
@@ -27,50 +29,43 @@ public final class DocumentStyle {
      * fallback fonts following CSS convention (ex. 'Arial, sans-serif').
      */
     @Generated
-    @JsonProperty(value = "similarFontFamily")
     private String similarFontFamily;
 
     /*
      * Font style.
      */
     @Generated
-    @JsonProperty(value = "fontStyle")
     private FontStyle fontStyle;
 
     /*
      * Font weight.
      */
     @Generated
-    @JsonProperty(value = "fontWeight")
     private FontWeight fontWeight;
 
     /*
      * Foreground color in #rrggbb hexadecimal format.
      */
     @Generated
-    @JsonProperty(value = "color")
     private String color;
 
     /*
      * Background color in #rrggbb hexadecimal format..
      */
     @Generated
-    @JsonProperty(value = "backgroundColor")
     private String backgroundColor;
 
     /*
      * Location of the text elements in the concatenated content the style applies to.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Confidence of correctly identifying the style.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentStyle class.
@@ -79,9 +74,7 @@ public final class DocumentStyle {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentStyle(@JsonProperty(value = "spans") List spans,
-        @JsonProperty(value = "confidence") double confidence) {
+    private DocumentStyle(List spans, double confidence) {
         this.spans = spans;
         this.confidence = confidence;
     }
@@ -97,8 +90,7 @@ public Boolean isHandwritten() {
     }
 
     /**
-     * Get the similarFontFamily property: Visually most similar font from among the set of supported font families,
-     * with
+     * Get the similarFontFamily property: Visually most similar font from among the set of supported font families, with
      * fallback fonts following CSS convention (ex. 'Arial, sans-serif').
      * 
      * @return the similarFontFamily value.
@@ -167,4 +159,77 @@ public List getSpans() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeBooleanField("isHandwritten", this.isHandwritten);
+        jsonWriter.writeStringField("similarFontFamily", this.similarFontFamily);
+        jsonWriter.writeStringField("fontStyle", this.fontStyle == null ? null : this.fontStyle.toString());
+        jsonWriter.writeStringField("fontWeight", this.fontWeight == null ? null : this.fontWeight.toString());
+        jsonWriter.writeStringField("color", this.color);
+        jsonWriter.writeStringField("backgroundColor", this.backgroundColor);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentStyle from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentStyle if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentStyle.
+     */
+    @Generated
+    public static DocumentStyle fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List spans = null;
+            double confidence = 0.0;
+            Boolean isHandwritten = null;
+            String similarFontFamily = null;
+            FontStyle fontStyle = null;
+            FontWeight fontWeight = null;
+            String color = null;
+            String backgroundColor = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("isHandwritten".equals(fieldName)) {
+                    isHandwritten = reader.getNullable(JsonReader::getBoolean);
+                } else if ("similarFontFamily".equals(fieldName)) {
+                    similarFontFamily = reader.getString();
+                } else if ("fontStyle".equals(fieldName)) {
+                    fontStyle = FontStyle.fromString(reader.getString());
+                } else if ("fontWeight".equals(fieldName)) {
+                    fontWeight = FontWeight.fromString(reader.getString());
+                } else if ("color".equals(fieldName)) {
+                    color = reader.getString();
+                } else if ("backgroundColor".equals(fieldName)) {
+                    backgroundColor = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentStyle deserializedDocumentStyle = new DocumentStyle(spans, confidence);
+            deserializedDocumentStyle.isHandwritten = isHandwritten;
+            deserializedDocumentStyle.similarFontFamily = similarFontFamily;
+            deserializedDocumentStyle.fontStyle = fontStyle;
+            deserializedDocumentStyle.fontWeight = fontWeight;
+            deserializedDocumentStyle.color = color;
+            deserializedDocumentStyle.backgroundColor = backgroundColor;
+
+            return deserializedDocumentStyle;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java
index 354087d85178..29531df56bac 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTable.java
@@ -6,62 +6,58 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * A table object consisting table cells arranged in a rectangular layout.
  */
 @Immutable
-public final class DocumentTable {
+public final class DocumentTable implements JsonSerializable {
     /*
      * Number of rows in the table.
      */
     @Generated
-    @JsonProperty(value = "rowCount")
-    private int rowCount;
+    private final int rowCount;
 
     /*
      * Number of columns in the table.
      */
     @Generated
-    @JsonProperty(value = "columnCount")
-    private int columnCount;
+    private final int columnCount;
 
     /*
      * Cells contained within the table.
      */
     @Generated
-    @JsonProperty(value = "cells")
-    private List cells;
+    private final List cells;
 
     /*
      * Bounding regions covering the table.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the table in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Caption associated with the table.
      */
     @Generated
-    @JsonProperty(value = "caption")
     private DocumentCaption caption;
 
     /*
      * List of footnotes associated with the table.
      */
     @Generated
-    @JsonProperty(value = "footnotes")
     private List footnotes;
 
     /**
@@ -73,11 +69,7 @@ public final class DocumentTable {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentTable(@JsonProperty(value = "rowCount") int rowCount,
-        @JsonProperty(value = "columnCount") int columnCount,
-        @JsonProperty(value = "cells") List cells,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentTable(int rowCount, int columnCount, List cells, List spans) {
         this.rowCount = rowCount;
         this.columnCount = columnCount;
         this.cells = cells;
@@ -153,4 +145,71 @@ public DocumentCaption getCaption() {
     public List getFootnotes() {
         return this.footnotes;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("rowCount", this.rowCount);
+        jsonWriter.writeIntField("columnCount", this.columnCount);
+        jsonWriter.writeArrayField("cells", this.cells, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("caption", this.caption);
+        jsonWriter.writeArrayField("footnotes", this.footnotes, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentTable from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentTable if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentTable.
+     */
+    @Generated
+    public static DocumentTable fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int rowCount = 0;
+            int columnCount = 0;
+            List cells = null;
+            List spans = null;
+            List boundingRegions = null;
+            DocumentCaption caption = null;
+            List footnotes = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("rowCount".equals(fieldName)) {
+                    rowCount = reader.getInt();
+                } else if ("columnCount".equals(fieldName)) {
+                    columnCount = reader.getInt();
+                } else if ("cells".equals(fieldName)) {
+                    cells = reader.readArray(reader1 -> DocumentTableCell.fromJson(reader1));
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("caption".equals(fieldName)) {
+                    caption = DocumentCaption.fromJson(reader);
+                } else if ("footnotes".equals(fieldName)) {
+                    footnotes = reader.readArray(reader1 -> DocumentFootnote.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentTable deserializedDocumentTable = new DocumentTable(rowCount, columnCount, cells, spans);
+            deserializedDocumentTable.boundingRegions = boundingRegions;
+            deserializedDocumentTable.caption = caption;
+            deserializedDocumentTable.footnotes = footnotes;
+
+            return deserializedDocumentTable;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java
index df50a1ea146d..04fa50179b75 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCell.java
@@ -6,76 +6,70 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object representing the location and content of a table cell.
  */
 @Immutable
-public final class DocumentTableCell {
+public final class DocumentTableCell implements JsonSerializable {
     /*
      * Table cell kind.
      */
     @Generated
-    @JsonProperty(value = "kind")
     private DocumentTableCellKind kind;
 
     /*
      * Row index of the cell.
      */
     @Generated
-    @JsonProperty(value = "rowIndex")
-    private int rowIndex;
+    private final int rowIndex;
 
     /*
      * Column index of the cell.
      */
     @Generated
-    @JsonProperty(value = "columnIndex")
-    private int columnIndex;
+    private final int columnIndex;
 
     /*
      * Number of rows spanned by this cell.
      */
     @Generated
-    @JsonProperty(value = "rowSpan")
     private Integer rowSpan;
 
     /*
      * Number of columns spanned by this cell.
      */
     @Generated
-    @JsonProperty(value = "columnSpan")
     private Integer columnSpan;
 
     /*
      * Concatenated content of the table cell in reading order.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding regions covering the table cell.
      */
     @Generated
-    @JsonProperty(value = "boundingRegions")
     private List boundingRegions;
 
     /*
      * Location of the table cell in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "spans")
-    private List spans;
+    private final List spans;
 
     /*
      * Child elements of the table cell.
      */
     @Generated
-    @JsonProperty(value = "elements")
     private List elements;
 
     /**
@@ -87,10 +81,7 @@ public final class DocumentTableCell {
      * @param spans the spans value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentTableCell(@JsonProperty(value = "rowIndex") int rowIndex,
-        @JsonProperty(value = "columnIndex") int columnIndex, @JsonProperty(value = "content") String content,
-        @JsonProperty(value = "spans") List spans) {
+    private DocumentTableCell(int rowIndex, int columnIndex, String content, List spans) {
         this.rowIndex = rowIndex;
         this.columnIndex = columnIndex;
         this.content = content;
@@ -186,4 +177,82 @@ public List getSpans() {
     public List getElements() {
         return this.elements;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("rowIndex", this.rowIndex);
+        jsonWriter.writeIntField("columnIndex", this.columnIndex);
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("spans", this.spans, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeNumberField("rowSpan", this.rowSpan);
+        jsonWriter.writeNumberField("columnSpan", this.columnSpan);
+        jsonWriter.writeArrayField("boundingRegions", this.boundingRegions,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("elements", this.elements, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentTableCell from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentTableCell if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentTableCell.
+     */
+    @Generated
+    public static DocumentTableCell fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int rowIndex = 0;
+            int columnIndex = 0;
+            String content = null;
+            List spans = null;
+            DocumentTableCellKind kind = null;
+            Integer rowSpan = null;
+            Integer columnSpan = null;
+            List boundingRegions = null;
+            List elements = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("rowIndex".equals(fieldName)) {
+                    rowIndex = reader.getInt();
+                } else if ("columnIndex".equals(fieldName)) {
+                    columnIndex = reader.getInt();
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("spans".equals(fieldName)) {
+                    spans = reader.readArray(reader1 -> DocumentSpan.fromJson(reader1));
+                } else if ("kind".equals(fieldName)) {
+                    kind = DocumentTableCellKind.fromString(reader.getString());
+                } else if ("rowSpan".equals(fieldName)) {
+                    rowSpan = reader.getNullable(JsonReader::getInt);
+                } else if ("columnSpan".equals(fieldName)) {
+                    columnSpan = reader.getNullable(JsonReader::getInt);
+                } else if ("boundingRegions".equals(fieldName)) {
+                    boundingRegions = reader.readArray(reader1 -> BoundingRegion.fromJson(reader1));
+                } else if ("elements".equals(fieldName)) {
+                    elements = reader.readArray(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentTableCell deserializedDocumentTableCell
+                = new DocumentTableCell(rowIndex, columnIndex, content, spans);
+            deserializedDocumentTableCell.kind = kind;
+            deserializedDocumentTableCell.rowSpan = rowSpan;
+            deserializedDocumentTableCell.columnSpan = columnSpan;
+            deserializedDocumentTableCell.boundingRegions = boundingRegions;
+            deserializedDocumentTableCell.elements = elements;
+
+            return deserializedDocumentTableCell;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java
index 3130892508c2..2657e27bcbb4 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTableCellKind.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -60,7 +59,6 @@ public DocumentTableCellKind() {
      * @return the corresponding DocumentTableCellKind.
      */
     @Generated
-    @JsonCreator
     public static DocumentTableCellKind fromString(String name) {
         return fromString(name, DocumentTableCellKind.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java
index 80549b1681f3..a918fe92050c 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentTypeDetails.java
@@ -6,41 +6,40 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Document type info.
  */
 @Immutable
-public final class DocumentTypeDetails {
+public final class DocumentTypeDetails implements JsonSerializable {
     /*
      * Document model description.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Custom document model build mode.
      */
     @Generated
-    @JsonProperty(value = "buildMode")
     private DocumentBuildMode buildMode;
 
     /*
      * Description of the document semantic schema using a JSON Schema style syntax.
      */
     @Generated
-    @JsonProperty(value = "fieldSchema")
-    private Map fieldSchema;
+    private final Map fieldSchema;
 
     /*
      * Estimated confidence for each field.
      */
     @Generated
-    @JsonProperty(value = "fieldConfidence")
     private Map fieldConfidence;
 
     /**
@@ -49,8 +48,7 @@ public final class DocumentTypeDetails {
      * @param fieldSchema the fieldSchema value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentTypeDetails(@JsonProperty(value = "fieldSchema") Map fieldSchema) {
+    private DocumentTypeDetails(Map fieldSchema) {
         this.fieldSchema = fieldSchema;
     }
 
@@ -93,4 +91,59 @@ public Map getFieldSchema() {
     public Map getFieldConfidence() {
         return this.fieldConfidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("fieldSchema", this.fieldSchema, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("buildMode", this.buildMode == null ? null : this.buildMode.toString());
+        jsonWriter.writeMapField("fieldConfidence", this.fieldConfidence,
+            (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentTypeDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentTypeDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentTypeDetails.
+     */
+    @Generated
+    public static DocumentTypeDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            Map fieldSchema = null;
+            String description = null;
+            DocumentBuildMode buildMode = null;
+            Map fieldConfidence = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("fieldSchema".equals(fieldName)) {
+                    fieldSchema = reader.readMap(reader1 -> DocumentFieldSchema.fromJson(reader1));
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("buildMode".equals(fieldName)) {
+                    buildMode = DocumentBuildMode.fromString(reader.getString());
+                } else if ("fieldConfidence".equals(fieldName)) {
+                    fieldConfidence = reader.readMap(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentTypeDetails deserializedDocumentTypeDetails = new DocumentTypeDetails(fieldSchema);
+            deserializedDocumentTypeDetails.description = description;
+            deserializedDocumentTypeDetails.buildMode = buildMode;
+            deserializedDocumentTypeDetails.fieldConfidence = fieldConfidence;
+
+            return deserializedDocumentTypeDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java
index ac7e0aa2af22..1f85f588d6dd 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/DocumentWord.java
@@ -6,23 +6,25 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
- * A word object consisting of a contiguous sequence of characters. For non-space
+ * A word object consisting of a contiguous sequence of characters.  For non-space
  * delimited languages, such as Chinese, Japanese, and Korean, each character is
  * represented as its own word.
  */
 @Immutable
-public final class DocumentWord {
+public final class DocumentWord implements JsonSerializable {
     /*
      * Text content of the word.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * Bounding polygon of the word, with coordinates specified relative to the
@@ -31,22 +33,19 @@ public final class DocumentWord {
      * element orientation.
      */
     @Generated
-    @JsonProperty(value = "polygon")
     private List polygon;
 
     /*
      * Location of the word in the reading order concatenated content.
      */
     @Generated
-    @JsonProperty(value = "span")
-    private DocumentSpan span;
+    private final DocumentSpan span;
 
     /*
      * Confidence of correctly extracting the word.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /**
      * Creates an instance of DocumentWord class.
@@ -56,9 +55,7 @@ public final class DocumentWord {
      * @param confidence the confidence value to set.
      */
     @Generated
-    @JsonCreator
-    private DocumentWord(@JsonProperty(value = "content") String content,
-        @JsonProperty(value = "span") DocumentSpan span, @JsonProperty(value = "confidence") double confidence) {
+    private DocumentWord(String content, DocumentSpan span, double confidence) {
         this.content = content;
         this.span = span;
         this.confidence = confidence;
@@ -106,4 +103,56 @@ public DocumentSpan getSpan() {
     public double getConfidence() {
         return this.confidence;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeJsonField("span", this.span);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeArrayField("polygon", this.polygon, (writer, element) -> writer.writeDouble(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DocumentWord from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DocumentWord if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DocumentWord.
+     */
+    @Generated
+    public static DocumentWord fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String content = null;
+            DocumentSpan span = null;
+            double confidence = 0.0;
+            List polygon = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("span".equals(fieldName)) {
+                    span = DocumentSpan.fromJson(reader);
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("polygon".equals(fieldName)) {
+                    polygon = reader.readArray(reader1 -> reader1.getDouble());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            DocumentWord deserializedDocumentWord = new DocumentWord(content, span, confidence);
+            deserializedDocumentWord.polygon = polygon;
+
+            return deserializedDocumentWord;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java
index d54dbdc23c3f..47101c69dea1 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Error.java
@@ -6,48 +6,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The error object.
  */
 @Immutable
-public final class Error {
+public final class Error implements JsonSerializable {
     /*
      * One of a server-defined set of error codes.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * A human-readable representation of the error.
      */
     @Generated
-    @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /*
      * The target of the error.
      */
     @Generated
-    @JsonProperty(value = "target")
     private String target;
 
     /*
      * An array of details about specific errors that led to this reported error.
      */
     @Generated
-    @JsonProperty(value = "details")
     private List details;
 
     /*
      * An object containing more specific information than the current object about the error.
      */
     @Generated
-    @JsonProperty(value = "innererror")
     private InnerError innererror;
 
     /**
@@ -57,8 +55,7 @@ public final class Error {
      * @param message the message value to set.
      */
     @Generated
-    @JsonCreator
-    private Error(@JsonProperty(value = "code") String code, @JsonProperty(value = "message") String message) {
+    private Error(String code, String message) {
         this.code = code;
         this.message = message;
     }
@@ -104,8 +101,7 @@ public List getDetails() {
     }
 
     /**
-     * Get the innererror property: An object containing more specific information than the current object about the
-     * error.
+     * Get the innererror property: An object containing more specific information than the current object about the error.
      * 
      * @return the innererror value.
      */
@@ -113,4 +109,62 @@ public List getDetails() {
     public InnerError getInnererror() {
         return this.innererror;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        jsonWriter.writeStringField("target", this.target);
+        jsonWriter.writeArrayField("details", this.details, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("innererror", this.innererror);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Error from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Error if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Error.
+     */
+    @Generated
+    public static Error fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String message = null;
+            String target = null;
+            List details = null;
+            InnerError innererror = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    message = reader.getString();
+                } else if ("target".equals(fieldName)) {
+                    target = reader.getString();
+                } else if ("details".equals(fieldName)) {
+                    details = reader.readArray(reader1 -> Error.fromJson(reader1));
+                } else if ("innererror".equals(fieldName)) {
+                    innererror = InnerError.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Error deserializedError = new Error(code, message);
+            deserializedError.target = target;
+            deserializedError.details = details;
+            deserializedError.innererror = innererror;
+
+            return deserializedError;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java
index 9453bc3d4994..e31d82c6f234 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontStyle.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public FontStyle() {
      * @return the corresponding FontStyle.
      */
     @Generated
-    @JsonCreator
     public static FontStyle fromString(String name) {
         return fromString(name, FontStyle.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java
index bc77905c2d00..39b2f1e1c86a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/FontWeight.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public FontWeight() {
      * @return the corresponding FontWeight.
      */
     @Generated
-    @JsonCreator
     public static FontWeight fromString(String name) {
         return fromString(name, FontWeight.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java
index 2b7928d36e75..4d6065533cb5 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/InnerError.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An object containing more specific information about the error.
  */
 @Immutable
-public final class InnerError {
+public final class InnerError implements JsonSerializable {
     /*
      * One of a server-defined set of error codes.
      */
     @Generated
-    @JsonProperty(value = "code")
     private String code;
 
     /*
      * A human-readable representation of the error.
      */
     @Generated
-    @JsonProperty(value = "message")
     private String message;
 
     /*
      * Inner error.
      */
     @Generated
-    @JsonProperty(value = "innererror")
     private InnerError innererror;
 
     /**
@@ -70,4 +71,47 @@ public String getMessage() {
     public InnerError getInnererror() {
         return this.innererror;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        jsonWriter.writeJsonField("innererror", this.innererror);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of InnerError from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of InnerError if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the InnerError.
+     */
+    @Generated
+    public static InnerError fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            InnerError deserializedInnerError = new InnerError();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("code".equals(fieldName)) {
+                    deserializedInnerError.code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    deserializedInnerError.message = reader.getString();
+                } else if ("innererror".equals(fieldName)) {
+                    deserializedInnerError.innererror = InnerError.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedInnerError;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java
index 30ef6445c8f6..1ebce153ae8a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/LengthUnit.java
@@ -6,12 +6,10 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
- * The unit used by the width, height, and polygon properties. For images, the unit is "pixel". For PDF, the unit is
- * "inch".
+ * The unit used by the width, height, and polygon properties. For images, the unit is "pixel". For PDF, the unit is "inch".
  */
 public final class LengthUnit extends ExpandableStringEnum {
     /**
@@ -43,7 +41,6 @@ public LengthUnit() {
      * @return the corresponding LengthUnit.
      */
     @Generated
-    @JsonCreator
     public static LengthUnit fromString(String name) {
         return fromString(name, LengthUnit.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java
index ed602b071ca6..e226ff340d71 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationDetails.java
@@ -6,91 +6,78 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Map;
 
 /**
  * Operation info.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = OperationDetails.class)
-@JsonTypeName("OperationDetails")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "documentModelCompose", value = DocumentModelComposeOperationDetails.class),
-    @JsonSubTypes.Type(name = "documentModelCopyTo", value = DocumentModelCopyToOperationDetails.class),
-    @JsonSubTypes.Type(name = "documentClassifierBuild", value = DocumentClassifierBuildOperationDetails.class),
-    @JsonSubTypes.Type(name = "documentModelBuild", value = DocumentModelBuildOperationDetails.class) })
 @Immutable
-public class OperationDetails {
+public class OperationDetails implements JsonSerializable {
+    /*
+     * Type of operation.
+     */
+    @Generated
+    private OperationKind kind;
+
     /*
      * Operation ID
      */
     @Generated
-    @JsonProperty(value = "operationId", access = JsonProperty.Access.WRITE_ONLY)
     private String operationId;
 
     /*
-     * Operation status. notStarted, running, completed, or failed
+     * Operation status.  notStarted, running, completed, or failed
      */
     @Generated
-    @JsonProperty(value = "status")
-    private OperationStatus status;
+    private final OperationStatus status;
 
     /*
      * Operation progress (0-100).
      */
     @Generated
-    @JsonProperty(value = "percentCompleted")
     private Integer percentCompleted;
 
     /*
      * Date and time (UTC) when the operation was created.
      */
     @Generated
-    @JsonProperty(value = "createdDateTime")
-    private OffsetDateTime createdDateTime;
+    private final OffsetDateTime createdDateTime;
 
     /*
      * Date and time (UTC) when the status was last updated.
      */
     @Generated
-    @JsonProperty(value = "lastUpdatedDateTime")
-    private OffsetDateTime lastUpdatedDateTime;
+    private final OffsetDateTime lastUpdatedDateTime;
 
     /*
      * URL of the resource targeted by this operation.
      */
     @Generated
-    @JsonProperty(value = "resourceLocation")
-    private String resourceLocation;
+    private final String resourceLocation;
 
     /*
      * API version used to create this operation.
      */
     @Generated
-    @JsonProperty(value = "apiVersion")
     private String apiVersion;
 
     /*
      * List of key-value tag attributes associated with the document model.
      */
     @Generated
-    @JsonProperty(value = "tags")
     private Map tags;
 
     /*
      * Encountered error.
      */
     @Generated
-    @JsonProperty(value = "error")
     private Error error;
 
     /**
@@ -102,17 +89,37 @@ public class OperationDetails {
      * @param resourceLocation the resourceLocation value to set.
      */
     @Generated
-    @JsonCreator
-    protected OperationDetails(@JsonProperty(value = "status") OperationStatus status,
-        @JsonProperty(value = "createdDateTime") OffsetDateTime createdDateTime,
-        @JsonProperty(value = "lastUpdatedDateTime") OffsetDateTime lastUpdatedDateTime,
-        @JsonProperty(value = "resourceLocation") String resourceLocation) {
+    protected OperationDetails(OperationStatus status, OffsetDateTime createdDateTime,
+        OffsetDateTime lastUpdatedDateTime, String resourceLocation) {
+        this.kind = OperationKind.fromString("OperationDetails");
         this.status = status;
         this.createdDateTime = createdDateTime;
         this.lastUpdatedDateTime = lastUpdatedDateTime;
         this.resourceLocation = resourceLocation;
     }
 
+    /**
+     * Get the kind property: Type of operation.
+     * 
+     * @return the kind value.
+     */
+    @Generated
+    public OperationKind getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: Type of operation.
+     * 
+     * @param kind the kind value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    protected OperationDetails setKind(OperationKind kind) {
+        this.kind = kind;
+        return this;
+    }
+
     /**
      * Get the operationId property: Operation ID.
      * 
@@ -124,7 +131,19 @@ public String getOperationId() {
     }
 
     /**
-     * Get the status property: Operation status. notStarted, running, completed, or failed.
+     * Set the operationId property: Operation ID.
+     * 
+     * @param operationId the operationId value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setOperationId(String operationId) {
+        this.operationId = operationId;
+        return this;
+    }
+
+    /**
+     * Get the status property: Operation status.  notStarted, running, completed, or failed.
      * 
      * @return the status value.
      */
@@ -143,6 +162,18 @@ public Integer getPercentCompleted() {
         return this.percentCompleted;
     }
 
+    /**
+     * Set the percentCompleted property: Operation progress (0-100).
+     * 
+     * @param percentCompleted the percentCompleted value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setPercentCompleted(Integer percentCompleted) {
+        this.percentCompleted = percentCompleted;
+        return this;
+    }
+
     /**
      * Get the createdDateTime property: Date and time (UTC) when the operation was created.
      * 
@@ -183,6 +214,18 @@ public String getApiVersion() {
         return this.apiVersion;
     }
 
+    /**
+     * Set the apiVersion property: API version used to create this operation.
+     * 
+     * @param apiVersion the apiVersion value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setApiVersion(String apiVersion) {
+        this.apiVersion = apiVersion;
+        return this;
+    }
+
     /**
      * Get the tags property: List of key-value tag attributes associated with the document model.
      * 
@@ -193,6 +236,18 @@ public Map getTags() {
         return this.tags;
     }
 
+    /**
+     * Set the tags property: List of key-value tag attributes associated with the document model.
+     * 
+     * @param tags the tags value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setTags(Map tags) {
+        this.tags = tags;
+        return this;
+    }
+
     /**
      * Get the error property: Encountered error.
      * 
@@ -202,4 +257,135 @@ public Map getTags() {
     public Error getError() {
         return this.error;
     }
+
+    /**
+     * Set the error property: Encountered error.
+     * 
+     * @param error the error value to set.
+     * @return the OperationDetails object itself.
+     */
+    @Generated
+    OperationDetails setError(Error error) {
+        this.error = error;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("createdDateTime",
+            this.createdDateTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.createdDateTime));
+        jsonWriter.writeStringField("lastUpdatedDateTime",
+            this.lastUpdatedDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.lastUpdatedDateTime));
+        jsonWriter.writeStringField("resourceLocation", this.resourceLocation);
+        jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString());
+        jsonWriter.writeNumberField("percentCompleted", this.percentCompleted);
+        jsonWriter.writeStringField("apiVersion", this.apiVersion);
+        jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("error", this.error);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OperationDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OperationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OperationDetails.
+     */
+    @Generated
+    public static OperationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                readerToUse.nextToken(); // Prepare for reading
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("kind".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("documentModelCompose".equals(discriminatorValue)) {
+                    return DocumentModelComposeOperationDetails.fromJson(readerToUse.reset());
+                } else if ("documentModelCopyTo".equals(discriminatorValue)) {
+                    return DocumentModelCopyToOperationDetails.fromJson(readerToUse.reset());
+                } else if ("documentClassifierBuild".equals(discriminatorValue)) {
+                    return DocumentClassifierBuildOperationDetails.fromJson(readerToUse.reset());
+                } else if ("documentModelBuild".equals(discriminatorValue)) {
+                    return DocumentModelBuildOperationDetails.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static OperationDetails fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String operationId = null;
+            OperationStatus status = null;
+            OffsetDateTime createdDateTime = null;
+            OffsetDateTime lastUpdatedDateTime = null;
+            String resourceLocation = null;
+            OperationKind kind = null;
+            Integer percentCompleted = null;
+            String apiVersion = null;
+            Map tags = null;
+            Error error = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("operationId".equals(fieldName)) {
+                    operationId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = OperationStatus.fromString(reader.getString());
+                } else if ("createdDateTime".equals(fieldName)) {
+                    createdDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("lastUpdatedDateTime".equals(fieldName)) {
+                    lastUpdatedDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("resourceLocation".equals(fieldName)) {
+                    resourceLocation = reader.getString();
+                } else if ("kind".equals(fieldName)) {
+                    kind = OperationKind.fromString(reader.getString());
+                } else if ("percentCompleted".equals(fieldName)) {
+                    percentCompleted = reader.getNullable(JsonReader::getInt);
+                } else if ("apiVersion".equals(fieldName)) {
+                    apiVersion = reader.getString();
+                } else if ("tags".equals(fieldName)) {
+                    tags = reader.readMap(reader1 -> reader1.getString());
+                } else if ("error".equals(fieldName)) {
+                    error = Error.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            OperationDetails deserializedOperationDetails
+                = new OperationDetails(status, createdDateTime, lastUpdatedDateTime, resourceLocation);
+            deserializedOperationDetails.operationId = operationId;
+            deserializedOperationDetails.kind = kind;
+            deserializedOperationDetails.percentCompleted = percentCompleted;
+            deserializedOperationDetails.apiVersion = apiVersion;
+            deserializedOperationDetails.tags = tags;
+            deserializedOperationDetails.error = error;
+
+            return deserializedOperationDetails;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java
new file mode 100644
index 000000000000..313d3a42dbe5
--- /dev/null
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationKind.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.ai.documentintelligence.models;
+
+import com.azure.core.annotation.Generated;
+import com.azure.core.util.ExpandableStringEnum;
+import java.util.Collection;
+
+/**
+ * Type of operation.
+ */
+public final class OperationKind extends ExpandableStringEnum {
+    /**
+     * Build a new custom document model.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_MODEL_BUILD = fromString("documentModelBuild");
+
+    /**
+     * Compose a new custom document model from existing models.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_MODEL_COMPOSE = fromString("documentModelCompose");
+
+    /**
+     * Copy an existing document model to potentially a different resource, region, or
+     * subscription.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_MODEL_COPY_TO = fromString("documentModelCopyTo");
+
+    /**
+     * Build a new custom classifier model.
+     */
+    @Generated
+    public static final OperationKind DOCUMENT_CLASSIFIER_BUILD = fromString("documentClassifierBuild");
+
+    /**
+     * Creates a new instance of OperationKind value.
+     * 
+     * @deprecated Use the {@link #fromString(String)} factory method.
+     */
+    @Generated
+    @Deprecated
+    public OperationKind() {
+    }
+
+    /**
+     * Creates or finds a OperationKind from its string representation.
+     * 
+     * @param name a name to look for.
+     * @return the corresponding OperationKind.
+     */
+    @Generated
+    public static OperationKind fromString(String name) {
+        return fromString(name, OperationKind.class);
+    }
+
+    /**
+     * Gets known OperationKind values.
+     * 
+     * @return known OperationKind values.
+     */
+    @Generated
+    public static Collection values() {
+        return values(OperationKind.class);
+    }
+}
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java
index 7735b857915f..a1a150f54d73 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/OperationStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -66,7 +65,6 @@ public OperationStatus() {
      * @return the corresponding OperationStatus.
      */
     @Generated
-    @JsonCreator
     public static OperationStatus fromString(String name) {
         return fromString(name, OperationStatus.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java
index f1228100752d..e996d59dd685 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ParagraphRole.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -72,7 +71,6 @@ public ParagraphRole() {
      * @return the corresponding ParagraphRole.
      */
     @Generated
-    @JsonCreator
     public static ParagraphRole fromString(String name) {
         return fromString(name, ParagraphRole.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java
index 4e08872f9f72..816bc80db278 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/QuotaDetails.java
@@ -6,35 +6,36 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.OffsetDateTime;
+import java.time.format.DateTimeFormatter;
 
 /**
  * Quota used, limit, and next reset date/time.
  */
 @Immutable
-public final class QuotaDetails {
+public final class QuotaDetails implements JsonSerializable {
     /*
      * Amount of the resource quota used.
      */
     @Generated
-    @JsonProperty(value = "used")
-    private int used;
+    private final int used;
 
     /*
      * Resource quota limit.
      */
     @Generated
-    @JsonProperty(value = "quota")
-    private int quota;
+    private final int quota;
 
     /*
      * Date/time when the resource quota usage will be reset.
      */
     @Generated
-    @JsonProperty(value = "quotaResetDateTime")
-    private OffsetDateTime quotaResetDateTime;
+    private final OffsetDateTime quotaResetDateTime;
 
     /**
      * Creates an instance of QuotaDetails class.
@@ -44,9 +45,7 @@ public final class QuotaDetails {
      * @param quotaResetDateTime the quotaResetDateTime value to set.
      */
     @Generated
-    @JsonCreator
-    private QuotaDetails(@JsonProperty(value = "used") int used, @JsonProperty(value = "quota") int quota,
-        @JsonProperty(value = "quotaResetDateTime") OffsetDateTime quotaResetDateTime) {
+    private QuotaDetails(int used, int quota, OffsetDateTime quotaResetDateTime) {
         this.used = used;
         this.quota = quota;
         this.quotaResetDateTime = quotaResetDateTime;
@@ -81,4 +80,53 @@ public int getQuota() {
     public OffsetDateTime getQuotaResetDateTime() {
         return this.quotaResetDateTime;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeIntField("used", this.used);
+        jsonWriter.writeIntField("quota", this.quota);
+        jsonWriter.writeStringField("quotaResetDateTime",
+            this.quotaResetDateTime == null
+                ? null
+                : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.quotaResetDateTime));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of QuotaDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of QuotaDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the QuotaDetails.
+     */
+    @Generated
+    public static QuotaDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            int used = 0;
+            int quota = 0;
+            OffsetDateTime quotaResetDateTime = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("used".equals(fieldName)) {
+                    used = reader.getInt();
+                } else if ("quota".equals(fieldName)) {
+                    quota = reader.getInt();
+                } else if ("quotaResetDateTime".equals(fieldName)) {
+                    quotaResetDateTime
+                        = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new QuotaDetails(used, quota, quotaResetDateTime);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java
index 8b5a470f2fd5..232cd26a2b29 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/ResourceDetails.java
@@ -6,27 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * General information regarding the current resource.
  */
 @Immutable
-public final class ResourceDetails {
+public final class ResourceDetails implements JsonSerializable {
     /*
      * Details regarding custom document models.
      */
     @Generated
-    @JsonProperty(value = "customDocumentModels")
-    private CustomDocumentModelsDetails customDocumentModels;
+    private final CustomDocumentModelsDetails customDocumentModels;
 
     /*
      * Quota used, limit, and next reset date/time.
      */
     @Generated
-    @JsonProperty(value = "customNeuralDocumentModelBuilds")
-    private QuotaDetails customNeuralDocumentModelBuilds;
+    private final QuotaDetails customNeuralDocumentModelBuilds;
 
     /**
      * Creates an instance of ResourceDetails class.
@@ -35,10 +36,8 @@ public final class ResourceDetails {
      * @param customNeuralDocumentModelBuilds the customNeuralDocumentModelBuilds value to set.
      */
     @Generated
-    @JsonCreator
-    private ResourceDetails(
-        @JsonProperty(value = "customDocumentModels") CustomDocumentModelsDetails customDocumentModels,
-        @JsonProperty(value = "customNeuralDocumentModelBuilds") QuotaDetails customNeuralDocumentModelBuilds) {
+    private ResourceDetails(CustomDocumentModelsDetails customDocumentModels,
+        QuotaDetails customNeuralDocumentModelBuilds) {
         this.customDocumentModels = customDocumentModels;
         this.customNeuralDocumentModelBuilds = customNeuralDocumentModelBuilds;
     }
@@ -62,4 +61,45 @@ public CustomDocumentModelsDetails getCustomDocumentModels() {
     public QuotaDetails getCustomNeuralDocumentModelBuilds() {
         return this.customNeuralDocumentModelBuilds;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("customDocumentModels", this.customDocumentModels);
+        jsonWriter.writeJsonField("customNeuralDocumentModelBuilds", this.customNeuralDocumentModelBuilds);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ResourceDetails from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ResourceDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ResourceDetails.
+     */
+    @Generated
+    public static ResourceDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            CustomDocumentModelsDetails customDocumentModels = null;
+            QuotaDetails customNeuralDocumentModelBuilds = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("customDocumentModels".equals(fieldName)) {
+                    customDocumentModels = CustomDocumentModelsDetails.fromJson(reader);
+                } else if ("customNeuralDocumentModelBuilds".equals(fieldName)) {
+                    customNeuralDocumentModelBuilds = QuotaDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new ResourceDetails(customDocumentModels, customNeuralDocumentModelBuilds);
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java
index b26b7e10b485..4bd39e703fcf 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/SplitMode.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public SplitMode() {
      * @return the corresponding SplitMode.
      */
     @Generated
-    @JsonCreator
     public static SplitMode fromString(String name) {
         return fromString(name, SplitMode.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java
index 73f5eed18408..529ecc6fe14a 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/StringIndexType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -21,13 +20,13 @@ public final class StringIndexType extends ExpandableStringEnum
     public static final StringIndexType TEXT_ELEMENTS = fromString("textElements");
 
     /**
-     * Character unit represented by a single unicode code point. Used by Python 3.
+     * Character unit represented by a single unicode code point.  Used by Python 3.
      */
     @Generated
     public static final StringIndexType UNICODE_CODE_POINT = fromString("unicodeCodePoint");
 
     /**
-     * Character unit represented by a 16-bit Unicode code unit. Used by JavaScript,
+     * Character unit represented by a 16-bit Unicode code unit.  Used by JavaScript,
      * Java, and .NET.
      */
     @Generated
@@ -50,7 +49,6 @@ public StringIndexType() {
      * @return the corresponding StringIndexType.
      */
     @Generated
-    @JsonCreator
     public static StringIndexType fromString(String name) {
         return fromString(name, StringIndexType.class);
     }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java
index 55562a9229aa..2a3e3faebd98 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/com/azure/ai/documentintelligence/models/Warning.java
@@ -6,33 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The error object.
  */
 @Immutable
-public final class Warning {
+public final class Warning implements JsonSerializable {
     /*
      * One of a server-defined set of warning codes.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * A human-readable representation of the warning.
      */
     @Generated
-    @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /*
      * The target of the error.
      */
     @Generated
-    @JsonProperty(value = "target")
     private String target;
 
     /**
@@ -42,8 +42,7 @@ public final class Warning {
      * @param message the message value to set.
      */
     @Generated
-    @JsonCreator
-    private Warning(@JsonProperty(value = "code") String code, @JsonProperty(value = "message") String message) {
+    private Warning(String code, String message) {
         this.code = code;
         this.message = message;
     }
@@ -77,4 +76,52 @@ public String getMessage() {
     public String getTarget() {
         return this.target;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        jsonWriter.writeStringField("target", this.target);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Warning from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Warning if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Warning.
+     */
+    @Generated
+    public static Warning fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String message = null;
+            String target = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    message = reader.getString();
+                } else if ("target".equals(fieldName)) {
+                    target = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Warning deserializedWarning = new Warning(code, message);
+            deserializedWarning.target = target;
+
+            return deserializedWarning;
+        });
+    }
 }
diff --git a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java
index 1905329421da..d0e120e8de76 100644
--- a/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java
+++ b/sdk/documentintelligence/azure-ai-documentintelligence/src/main/java/module-info.java
@@ -4,7 +4,8 @@
 
 module com.azure.ai.documentintelligence {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.ai.documentintelligence;
     exports com.azure.ai.documentintelligence.models;
-    opens com.azure.ai.documentintelligence.models to com.azure.core, com.fasterxml.jackson.databind;
+    opens com.azure.ai.documentintelligence.models to com.azure.core;
 }
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmAsyncClient.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmAsyncClient.java
index be3d498857ae..efb00247cb40 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmAsyncClient.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmAsyncClient.java
@@ -150,20 +150,22 @@ public final class EasmAsyncClient {
     public PagedFlux listAssetResource(RequestOptions requestOptions) {
         PagedFlux pagedFluxResponse = this.serviceClient.listAssetResourceAsync(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> cleanUp(protocolMethodData))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
 
     /**
      * Update labels on assets matching the provided filter.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     state: String(candidate/confirmed/dismissed/candidateInvestigate/associatedPartner/associatedThirdparty) (Optional)
@@ -174,9 +176,7 @@ public PagedFlux listAssetResource(RequestOptions requestOptions) {
      *     transfers: String(as/contact/domain/host/ipAddress/ipBlock/page/sslCert) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -210,11 +210,10 @@ public Mono> updateAssetsWithResponse(String filter, Binary
 
     /**
      * Retrieve an asset by assetId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -247,8 +246,7 @@ public Mono> updateAssetsWithResponse(String filter, Binary
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the items in the current page of results along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the items in the current page of results along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -316,31 +314,32 @@ public Mono> getAssetResourceWithResponse(String assetId, R
     public PagedFlux listDataConnection(RequestOptions requestOptions) {
         PagedFlux pagedFluxResponse = this.serviceClient.listDataConnectionAsync(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> cleanUp(protocolMethodData))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
 
     /**
      * Validate a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -364,7 +363,7 @@ public PagedFlux listDataConnection(RequestOptions requestOptions) {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+     * @return validate result for validate action endpoints along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -375,11 +374,10 @@ public Mono> validateDataConnectionWithResponse(BinaryData
 
     /**
      * Retrieve a data connection with a given dataConnectionName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -411,22 +409,20 @@ public Mono> getDataConnectionWithResponse(String dataConne
 
     /**
      * Create or replace a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -568,20 +564,22 @@ public Mono> deleteDataConnectionWithResponse(String dataConnecti
     public PagedFlux listDiscoGroup(RequestOptions requestOptions) {
         PagedFlux pagedFluxResponse = this.serviceClient.listDiscoGroupAsync(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> cleanUp(protocolMethodData))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
 
     /**
      * Validate a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -603,9 +601,7 @@ public PagedFlux listDiscoGroup(RequestOptions requestOptions) {
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -629,7 +625,7 @@ public PagedFlux listDiscoGroup(RequestOptions requestOptions) {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+     * @return validate result for validate action endpoints along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -640,9 +636,7 @@ public Mono> validateDiscoGroupWithResponse(BinaryData disc
 
     /**
      * Retrieve a discovery group with a given groupName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -701,9 +695,7 @@ public Mono> getDiscoGroupWithResponse(String groupName, Re
 
     /**
      * Create a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -725,9 +717,7 @@ public Mono> getDiscoGroupWithResponse(String groupName, Re
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -875,20 +865,22 @@ public Mono> runDiscoGroupWithResponse(String groupName, RequestO
     public PagedFlux listDiscoTemplate(RequestOptions requestOptions) {
         PagedFlux pagedFluxResponse = this.serviceClient.listDiscoTemplateAsync(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> cleanUp(protocolMethodData))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
 
     /**
      * Retrieve a disco template with a given templateId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -917,8 +909,7 @@ public PagedFlux listDiscoTemplate(RequestOptions requestOptions) {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the items in the current page of results along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the items in the current page of results along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -928,9 +919,7 @@ public Mono> getDiscoTemplateWithResponse(String templateId
 
     /**
      * Get billable assets summary for the workspace.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -953,8 +942,7 @@ public Mono> getDiscoTemplateWithResponse(String templateId
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return billable assets summary for the workspace along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return billable assets summary for the workspace along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -964,9 +952,7 @@ public Mono> getBillableWithResponse(RequestOptions request
 
     /**
      * Get the most recent snapshot of asset summary values for the snapshot request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metric: String (Optional)
@@ -975,9 +961,7 @@ public Mono> getBillableWithResponse(RequestOptions request
      *     page: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     displayName: String (Optional)
@@ -991,6 +975,7 @@ public Mono> getBillableWithResponse(RequestOptions request
      *         nextLink: String (Optional)
      *         value (Optional): [
      *              (Optional){
+     *                 kind: String (Required)
      *                 id: String (Required)
      *                 name: String (Optional)
      *                 displayName: String (Optional)
@@ -1026,8 +1011,7 @@ public Mono> getBillableWithResponse(RequestOptions request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the most recent snapshot of asset summary values for the snapshot request along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return the most recent snapshot of asset summary values for the snapshot request along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1038,9 +1022,7 @@ public Mono> getSnapshotWithResponse(BinaryData reportAsset
 
     /**
      * Get asset summary details for the summary request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metricCategories (Optional): [
@@ -1057,9 +1039,7 @@ public Mono> getSnapshotWithResponse(BinaryData reportAsset
      *     labelName: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -1081,15 +1061,13 @@ public Mono> getSnapshotWithResponse(BinaryData reportAsset
      * }
      * }
* - * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one - * collection of summary identifiers must be provided: filters, metrics, or metricCategories. + * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return asset summary details for the summary request along with {@link Response} on successful completion of - * {@link Mono}. + * @return asset summary details for the summary request along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -1158,20 +1136,22 @@ public Mono> getSummaryWithResponse(BinaryData reportAssetS public PagedFlux listSavedFilter(RequestOptions requestOptions) { PagedFlux pagedFluxResponse = this.serviceClient.listSavedFilterAsync(requestOptions); return PagedFlux.create(() -> (continuationToken, pageSize) -> { - Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1) + Flux> flux = (continuationToken == null) + ? pagedFluxResponse.byPage().take(1) : pagedFluxResponse.byPage(continuationToken).take(1); return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), - pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream() - .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> cleanUp(protocolMethodData)) + .collect(Collectors.toList()), pagedResponse.getContinuationToken(), null)); }); } /** * Retrieve a saved filter by filterName. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1198,18 +1178,14 @@ public Mono> getSavedFilterWithResponse(String filterName,
 
     /**
      * Create or replace a saved filter with a given filterName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     filter: String (Required)
      *     description: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1325,20 +1301,22 @@ public Mono> deleteSavedFilterWithResponse(String filterName, Req
     public PagedFlux listTask(RequestOptions requestOptions) {
         PagedFlux pagedFluxResponse = this.serviceClient.listTaskAsync(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> cleanUp(protocolMethodData))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
 
     /**
      * Retrieve a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1370,9 +1348,7 @@ public Mono> getTaskWithResponse(String taskId, RequestOpti
 
     /**
      * Cancel a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1408,8 +1384,7 @@ public Mono> cancelTaskWithResponse(String taskId, RequestO
      * @param filter Filter the result list using the given expression.
      * @param orderBy A list of expressions that specify the order of the returned resources.
      * @param skip The number of result items to skip.
-     * @param mark Specify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and
-     * subsequent values are returned in the response.
+     * @param mark Specify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent values are returned in the response.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -1437,11 +1412,13 @@ public PagedFlux listAssetResource(String filter, String orderBy,
         }
         PagedFlux pagedFluxResponse = listAssetResource(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(AssetResource.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1465,11 +1442,13 @@ public PagedFlux listAssetResource() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listAssetResource(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(AssetResource.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1494,7 +1473,8 @@ public Mono updateAssets(String filter, AssetUpdateData assetUpdateData) {
         // Generated convenience method for updateAssetsWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateAssetsWithResponse(filter, BinaryData.fromObject(assetUpdateData), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> cleanUp(protocolMethodData).toObject(Task.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> cleanUp(protocolMethodData).toObject(Task.class));
     }
 
     /**
@@ -1538,11 +1518,13 @@ public PagedFlux listDataConnection(Integer skip) {
         }
         PagedFlux pagedFluxResponse = listDataConnection(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DataConnection.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1565,11 +1547,13 @@ public PagedFlux listDataConnection() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listDataConnection(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DataConnection.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1686,11 +1670,13 @@ public PagedFlux listDiscoGroup(String filter, Integer skip) {
         }
         PagedFlux pagedFluxResponse = listDiscoGroup(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DiscoGroup.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1713,11 +1699,13 @@ public PagedFlux listDiscoGroup() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listDiscoGroup(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DiscoGroup.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1826,11 +1814,13 @@ public PagedFlux listRuns(String groupName) {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listRuns(groupName, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DiscoRunResult.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1862,11 +1852,13 @@ public PagedFlux listDiscoTemplate(String filter, Integer skip) {
         }
         PagedFlux pagedFluxResponse = listDiscoTemplate(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DiscoTemplate.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -1889,11 +1881,13 @@ public PagedFlux listDiscoTemplate() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listDiscoTemplate(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DiscoTemplate.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2008,11 +2002,13 @@ public PagedFlux listSavedFilter(String filter, Integer skip) {
         }
         PagedFlux pagedFluxResponse = listSavedFilter(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(SavedFilter.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2036,11 +2032,13 @@ public PagedFlux listSavedFilter() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listSavedFilter(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(SavedFilter.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
@@ -2139,11 +2137,15 @@ public PagedFlux listTask(String filter, String orderBy, Integer skip) {
         }
         PagedFlux pagedFluxResponse = listTask(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> protocolMethodData.toObject(Task.class)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> protocolMethodData.toObject(Task.class))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
@@ -2165,11 +2167,15 @@ public PagedFlux listTask() {
         RequestOptions requestOptions = new RequestOptions();
         PagedFlux pagedFluxResponse = listTask(requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> protocolMethodData.toObject(Task.class)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> protocolMethodData.toObject(Task.class))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
@@ -2292,11 +2298,15 @@ private BinaryData cleanUp(BinaryData input) {
     public PagedFlux listRuns(String groupName, RequestOptions requestOptions) {
         PagedFlux pagedFluxResponse = this.serviceClient.listRunsAsync(groupName, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
-                pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue().stream()
-                    .map(protocolMethodData -> cleanUp(protocolMethodData)).collect(Collectors.toList()),
+                pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
+                pagedResponse.getValue()
+                    .stream()
+                    .map(protocolMethodData -> cleanUp(protocolMethodData))
+                    .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
         });
     }
@@ -2328,11 +2338,13 @@ public PagedFlux listRuns(String groupName, String filter, Integ
         }
         PagedFlux pagedFluxResponse = listRuns(groupName, requestOptions);
         return PagedFlux.create(() -> (continuationToken, pageSize) -> {
-            Flux> flux = (continuationToken == null) ? pagedFluxResponse.byPage().take(1)
+            Flux> flux = (continuationToken == null)
+                ? pagedFluxResponse.byPage().take(1)
                 : pagedFluxResponse.byPage(continuationToken).take(1);
             return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
                 pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
-                pagedResponse.getValue().stream()
+                pagedResponse.getValue()
+                    .stream()
                     .map(protocolMethodData -> protocolMethodData.toObject(DiscoRunResult.class))
                     .collect(Collectors.toList()),
                 pagedResponse.getContinuationToken(), null));
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClient.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClient.java
index 9c5b97701d92..8b2640843063 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClient.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClient.java
@@ -147,9 +147,7 @@ public PagedIterable listAssetResource(RequestOptions requestOptions
 
     /**
      * Update labels on assets matching the provided filter.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     state: String(candidate/confirmed/dismissed/candidateInvestigate/associatedPartner/associatedThirdparty) (Optional)
@@ -160,9 +158,7 @@ public PagedIterable listAssetResource(RequestOptions requestOptions
      *     transfers: String(as/contact/domain/host/ipAddress/ipBlock/page/sslCert) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -196,11 +192,10 @@ public Response updateAssetsWithResponse(String filter, BinaryData a
 
     /**
      * Retrieve an asset by assetId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -304,20 +299,17 @@ public PagedIterable listDataConnection(RequestOptions requestOption
 
     /**
      * Validate a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -341,7 +333,7 @@ public PagedIterable listDataConnection(RequestOptions requestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response}.
+     * @return validate result for validate action endpoints along with {@link Response}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -352,11 +344,10 @@ public Response validateDataConnectionWithResponse(BinaryData dataCo
 
     /**
      * Retrieve a data connection with a given dataConnectionName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -388,22 +379,20 @@ public Response getDataConnectionWithResponse(String dataConnectionN
 
     /**
      * Create or replace a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -454,9 +443,7 @@ public Response deleteDataConnectionWithResponse(String dataConnectionName
 
     /**
      * Validate a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -478,9 +465,7 @@ public Response deleteDataConnectionWithResponse(String dataConnectionName
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -504,7 +489,7 @@ public Response deleteDataConnectionWithResponse(String dataConnectionName
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response}.
+     * @return validate result for validate action endpoints along with {@link Response}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -515,9 +500,7 @@ public Response validateDiscoGroupWithResponse(BinaryData discoGroup
 
     /**
      * Retrieve a discovery group with a given groupName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -576,9 +559,7 @@ public Response getDiscoGroupWithResponse(String groupName, RequestO
 
     /**
      * Create a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -600,9 +581,7 @@ public Response getDiscoGroupWithResponse(String groupName, RequestO
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -828,9 +807,7 @@ public PagedIterable listDiscoTemplate(RequestOptions requestOptions
 
     /**
      * Retrieve a disco template with a given templateId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -869,9 +846,7 @@ public Response getDiscoTemplateWithResponse(String templateId, Requ
 
     /**
      * Get billable assets summary for the workspace.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -904,9 +879,7 @@ public Response getBillableWithResponse(RequestOptions requestOption
 
     /**
      * Get the most recent snapshot of asset summary values for the snapshot request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metric: String (Optional)
@@ -915,9 +888,7 @@ public Response getBillableWithResponse(RequestOptions requestOption
      *     page: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     displayName: String (Optional)
@@ -931,6 +902,7 @@ public Response getBillableWithResponse(RequestOptions requestOption
      *         nextLink: String (Optional)
      *         value (Optional): [
      *              (Optional){
+     *                 kind: String (Required)
      *                 id: String (Required)
      *                 name: String (Optional)
      *                 displayName: String (Optional)
@@ -977,9 +949,7 @@ public Response getSnapshotWithResponse(BinaryData reportAssetSnapsh
 
     /**
      * Get asset summary details for the summary request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metricCategories (Optional): [
@@ -996,9 +966,7 @@ public Response getSnapshotWithResponse(BinaryData reportAssetSnapsh
      *     labelName: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -1020,8 +988,7 @@ public Response getSnapshotWithResponse(BinaryData reportAssetSnapsh
      * }
      * }
* - * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one - * collection of summary identifiers must be provided: filters, metrics, or metricCategories. + * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -1099,9 +1066,7 @@ public PagedIterable listSavedFilter(RequestOptions requestOptions) /** * Retrieve a saved filter by filterName. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1128,18 +1093,14 @@ public Response getSavedFilterWithResponse(String filterName, Reques
 
     /**
      * Create or replace a saved filter with a given filterName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     filter: String (Required)
      *     description: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -1257,9 +1218,7 @@ public PagedIterable listTask(RequestOptions requestOptions) {
 
     /**
      * Retrieve a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1291,9 +1250,7 @@ public Response getTaskWithResponse(String taskId, RequestOptions re
 
     /**
      * Cancel a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClientBuilder.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClientBuilder.java
index d7f01f71de48..3e7281149c5a 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClientBuilder.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/EasmClientBuilder.java
@@ -21,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.RequestIdPolicy;
@@ -213,60 +213,6 @@ public EasmClientBuilder endpoint(String endpoint) {
         return this;
     }
 
-    /*
-     * The ID of the target subscription.
-     */
-    @Generated
-    private String subscriptionId;
-
-    /**
-     * Sets The ID of the target subscription.
-     *
-     * @param subscriptionId the subscriptionId value.
-     * @return the EasmClientBuilder.
-     */
-    @Generated
-    public EasmClientBuilder subscriptionId(String subscriptionId) {
-        this.subscriptionId = subscriptionId;
-        return this;
-    }
-
-    /*
-     * The name of the Resource Group.
-     */
-    @Generated
-    private String resourceGroupName;
-
-    /**
-     * Sets The name of the Resource Group.
-     *
-     * @param resourceGroupName the resourceGroupName value.
-     * @return the EasmClientBuilder.
-     */
-    @Generated
-    public EasmClientBuilder resourceGroupName(String resourceGroupName) {
-        this.resourceGroupName = resourceGroupName;
-        return this;
-    }
-
-    /*
-     * The name of the Workspace.
-     */
-    @Generated
-    private String workspaceName;
-
-    /**
-     * Sets The name of the Workspace.
-     *
-     * @param workspaceName the workspaceName value.
-     * @return the EasmClientBuilder.
-     */
-    @Generated
-    public EasmClientBuilder workspaceName(String workspaceName) {
-        this.workspaceName = workspaceName;
-        return this;
-    }
-
     /*
      * Service version
      */
@@ -314,7 +260,7 @@ private EasmClientImpl buildInnerClient() {
         EasmServiceVersion localServiceVersion
             = (serviceVersion != null) ? serviceVersion : EasmServiceVersion.getLatest();
         EasmClientImpl client = new EasmClientImpl(localPipeline, JacksonAdapter.createDefaultSerializerAdapter(),
-            this.endpoint, this.subscriptionId, this.resourceGroupName, this.workspaceName, localServiceVersion);
+            this.endpoint, localServiceVersion);
         return client;
     }
 
@@ -337,7 +283,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -345,12 +292,15 @@ private HttpPipeline createHttpPipeline() {
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/implementation/EasmClientImpl.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/implementation/EasmClientImpl.java
index 083ff7efe91c..51112d90544a 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/implementation/EasmClientImpl.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/implementation/EasmClientImpl.java
@@ -56,12 +56,12 @@ public final class EasmClientImpl {
     private final EasmClientService service;
 
     /**
-     * The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com.
+     * The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}.
      */
     private final String endpoint;
 
     /**
-     * Gets The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com.
+     * Gets The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}.
      * 
      * @return the endpoint value.
      */
@@ -69,48 +69,6 @@ public String getEndpoint() {
         return this.endpoint;
     }
 
-    /**
-     * The ID of the target subscription.
-     */
-    private final String subscriptionId;
-
-    /**
-     * Gets The ID of the target subscription.
-     * 
-     * @return the subscriptionId value.
-     */
-    public String getSubscriptionId() {
-        return this.subscriptionId;
-    }
-
-    /**
-     * The name of the Resource Group.
-     */
-    private final String resourceGroupName;
-
-    /**
-     * Gets The name of the Resource Group.
-     * 
-     * @return the resourceGroupName value.
-     */
-    public String getResourceGroupName() {
-        return this.resourceGroupName;
-    }
-
-    /**
-     * The name of the Workspace.
-     */
-    private final String workspaceName;
-
-    /**
-     * Gets The name of the Workspace.
-     * 
-     * @return the workspaceName value.
-     */
-    public String getWorkspaceName() {
-        return this.workspaceName;
-    }
-
     /**
      * Service version.
      */
@@ -156,35 +114,23 @@ public SerializerAdapter getSerializerAdapter() {
     /**
      * Initializes an instance of EasmClient client.
      * 
-     * @param endpoint The endpoint hosting the requested resource. For example,
-     * https://{region}.easm.defender.microsoft.com.
-     * @param subscriptionId The ID of the target subscription.
-     * @param resourceGroupName The name of the Resource Group.
-     * @param workspaceName The name of the Workspace.
+     * @param endpoint The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}.
      * @param serviceVersion Service version.
      */
-    public EasmClientImpl(String endpoint, String subscriptionId, String resourceGroupName, String workspaceName,
-        EasmServiceVersion serviceVersion) {
+    public EasmClientImpl(String endpoint, EasmServiceVersion serviceVersion) {
         this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(),
-            JacksonAdapter.createDefaultSerializerAdapter(), endpoint, subscriptionId, resourceGroupName, workspaceName,
-            serviceVersion);
+            JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion);
     }
 
     /**
      * Initializes an instance of EasmClient client.
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
-     * @param endpoint The endpoint hosting the requested resource. For example,
-     * https://{region}.easm.defender.microsoft.com.
-     * @param subscriptionId The ID of the target subscription.
-     * @param resourceGroupName The name of the Resource Group.
-     * @param workspaceName The name of the Workspace.
+     * @param endpoint The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}.
      * @param serviceVersion Service version.
      */
-    public EasmClientImpl(HttpPipeline httpPipeline, String endpoint, String subscriptionId, String resourceGroupName,
-        String workspaceName, EasmServiceVersion serviceVersion) {
-        this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, subscriptionId, resourceGroupName,
-            workspaceName, serviceVersion);
+    public EasmClientImpl(HttpPipeline httpPipeline, String endpoint, EasmServiceVersion serviceVersion) {
+        this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion);
     }
 
     /**
@@ -192,21 +138,14 @@ public EasmClientImpl(HttpPipeline httpPipeline, String endpoint, String subscri
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
      * @param serializerAdapter The serializer to serialize an object into a string.
-     * @param endpoint The endpoint hosting the requested resource. For example,
-     * https://{region}.easm.defender.microsoft.com.
-     * @param subscriptionId The ID of the target subscription.
-     * @param resourceGroupName The name of the Resource Group.
-     * @param workspaceName The name of the Workspace.
+     * @param endpoint The endpoint hosting the requested resource. For example, https://{region}.easm.defender.microsoft.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}.
      * @param serviceVersion Service version.
      */
     public EasmClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint,
-        String subscriptionId, String resourceGroupName, String workspaceName, EasmServiceVersion serviceVersion) {
+        EasmServiceVersion serviceVersion) {
         this.httpPipeline = httpPipeline;
         this.serializerAdapter = serializerAdapter;
         this.endpoint = endpoint;
-        this.subscriptionId = subscriptionId;
-        this.resourceGroupName = resourceGroupName;
-        this.workspaceName = workspaceName;
         this.serviceVersion = serviceVersion;
         this.service = RestProxy.create(EasmClientService.class, this.httpPipeline, this.getSerializerAdapter());
     }
@@ -214,7 +153,7 @@ public EasmClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAda
     /**
      * The interface defining all the services for EasmClient to be used by the proxy service to perform REST calls.
      */
-    @Host("{endpoint}/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/workspaces/{workspaceName}")
+    @Host("{endpoint}")
     @ServiceInterface(name = "EasmClient")
     public interface EasmClientService {
         @Get("/assets")
@@ -224,8 +163,6 @@ public interface EasmClientService {
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listAssetResource(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -236,8 +173,6 @@ Mono> listAssetResource(@HostParam("endpoint") String endpo
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listAssetResourceSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -248,8 +183,6 @@ Response listAssetResourceSync(@HostParam("endpoint") String endpoin
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> updateAssets(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @QueryParam("filter") String filter,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData assetUpdateData,
             RequestOptions requestOptions, Context context);
@@ -261,8 +194,6 @@ Mono> updateAssets(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response updateAssetsSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @QueryParam("filter") String filter,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData assetUpdateData,
             RequestOptions requestOptions, Context context);
@@ -274,8 +205,6 @@ Response updateAssetsSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getAssetResource(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("assetId") String assetId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -286,8 +215,6 @@ Mono> getAssetResource(@HostParam("endpoint") String endpoi
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getAssetResourceSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("assetId") String assetId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -298,8 +225,6 @@ Response getAssetResourceSync(@HostParam("endpoint") String endpoint
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listDataConnection(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -310,8 +235,6 @@ Mono> listDataConnection(@HostParam("endpoint") String endp
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listDataConnectionSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -322,8 +245,6 @@ Response listDataConnectionSync(@HostParam("endpoint") String endpoi
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> validateDataConnection(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData dataConnectionData, RequestOptions requestOptions,
             Context context);
@@ -335,8 +256,6 @@ Mono> validateDataConnection(@HostParam("endpoint") String
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response validateDataConnectionSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData dataConnectionData, RequestOptions requestOptions,
             Context context);
@@ -348,8 +267,6 @@ Response validateDataConnectionSync(@HostParam("endpoint") String en
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getDataConnection(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("dataConnectionName") String dataConnectionName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -360,8 +277,6 @@ Mono> getDataConnection(@HostParam("endpoint") String endpo
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getDataConnectionSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("dataConnectionName") String dataConnectionName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -372,8 +287,6 @@ Response getDataConnectionSync(@HostParam("endpoint") String endpoin
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> createOrReplaceDataConnection(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("dataConnectionName") String dataConnectionName,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData dataConnectionData,
             RequestOptions requestOptions, Context context);
@@ -385,8 +298,6 @@ Mono> createOrReplaceDataConnection(@HostParam("endpoint")
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response createOrReplaceDataConnectionSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("dataConnectionName") String dataConnectionName,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData dataConnectionData,
             RequestOptions requestOptions, Context context);
@@ -398,8 +309,6 @@ Response createOrReplaceDataConnectionSync(@HostParam("endpoint") St
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> deleteDataConnection(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("dataConnectionName") String dataConnectionName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -410,8 +319,6 @@ Mono> deleteDataConnection(@HostParam("endpoint") String endpoint
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response deleteDataConnectionSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("dataConnectionName") String dataConnectionName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -422,8 +329,6 @@ Response deleteDataConnectionSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listDiscoGroup(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -434,8 +339,6 @@ Mono> listDiscoGroup(@HostParam("endpoint") String endpoint
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listDiscoGroupSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -446,8 +349,6 @@ Response listDiscoGroupSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> validateDiscoGroup(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData discoGroupData, RequestOptions requestOptions, Context context);
 
@@ -458,8 +359,6 @@ Mono> validateDiscoGroup(@HostParam("endpoint") String endp
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response validateDiscoGroupSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData discoGroupData, RequestOptions requestOptions, Context context);
 
@@ -470,8 +369,6 @@ Response validateDiscoGroupSync(@HostParam("endpoint") String endpoi
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getDiscoGroup(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -482,8 +379,6 @@ Mono> getDiscoGroup(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getDiscoGroupSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -494,8 +389,6 @@ Response getDiscoGroupSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> createOrReplaceDiscoGroup(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData discoGroupData,
             RequestOptions requestOptions, Context context);
@@ -507,8 +400,6 @@ Mono> createOrReplaceDiscoGroup(@HostParam("endpoint") Stri
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response createOrReplaceDiscoGroupSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData discoGroupData,
             RequestOptions requestOptions, Context context);
@@ -520,8 +411,6 @@ Response createOrReplaceDiscoGroupSync(@HostParam("endpoint") String
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> runDiscoGroup(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -532,8 +421,6 @@ Mono> runDiscoGroup(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response runDiscoGroupSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -544,8 +431,6 @@ Response runDiscoGroupSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listRuns(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -556,8 +441,6 @@ Mono> listRuns(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listRunsSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("groupName") String groupName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -568,8 +451,6 @@ Response listRunsSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listDiscoTemplate(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -580,8 +461,6 @@ Mono> listDiscoTemplate(@HostParam("endpoint") String endpo
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listDiscoTemplateSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -592,8 +471,6 @@ Response listDiscoTemplateSync(@HostParam("endpoint") String endpoin
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getDiscoTemplate(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("templateId") String templateId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -604,8 +481,6 @@ Mono> getDiscoTemplate(@HostParam("endpoint") String endpoi
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getDiscoTemplateSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("templateId") String templateId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -616,8 +491,6 @@ Response getDiscoTemplateSync(@HostParam("endpoint") String endpoint
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getBillable(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -628,8 +501,6 @@ Mono> getBillable(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getBillableSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -640,8 +511,6 @@ Response getBillableSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getSnapshot(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData reportAssetSnapshotRequest, RequestOptions requestOptions,
             Context context);
@@ -653,8 +522,6 @@ Mono> getSnapshot(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getSnapshotSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData reportAssetSnapshotRequest, RequestOptions requestOptions,
             Context context);
@@ -666,8 +533,6 @@ Response getSnapshotSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getSummary(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData reportAssetSummaryRequest, RequestOptions requestOptions,
             Context context);
@@ -679,8 +544,6 @@ Mono> getSummary(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getSummarySync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             @BodyParam("application/json") BinaryData reportAssetSummaryRequest, RequestOptions requestOptions,
             Context context);
@@ -692,8 +555,6 @@ Response getSummarySync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listSavedFilter(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -704,8 +565,6 @@ Mono> listSavedFilter(@HostParam("endpoint") String endpoin
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listSavedFilterSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -716,8 +575,6 @@ Response listSavedFilterSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getSavedFilter(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("filterName") String filterName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -728,8 +585,6 @@ Mono> getSavedFilter(@HostParam("endpoint") String endpoint
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getSavedFilterSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("filterName") String filterName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -740,8 +595,6 @@ Response getSavedFilterSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> createOrReplaceSavedFilter(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("filterName") String filterName,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData savedFilterData,
             RequestOptions requestOptions, Context context);
@@ -753,8 +606,6 @@ Mono> createOrReplaceSavedFilter(@HostParam("endpoint") Str
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response createOrReplaceSavedFilterSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("filterName") String filterName,
             @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData savedFilterData,
             RequestOptions requestOptions, Context context);
@@ -766,8 +617,6 @@ Response createOrReplaceSavedFilterSync(@HostParam("endpoint") Strin
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> deleteSavedFilter(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("filterName") String filterName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -778,8 +627,6 @@ Mono> deleteSavedFilter(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response deleteSavedFilterSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("filterName") String filterName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -790,8 +637,6 @@ Response deleteSavedFilterSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listTask(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -802,8 +647,6 @@ Mono> listTask(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listTaskSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept,
             RequestOptions requestOptions, Context context);
 
@@ -814,8 +657,6 @@ Response listTaskSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> getTask(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("taskId") String taskId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -826,8 +667,6 @@ Mono> getTask(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response getTaskSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("taskId") String taskId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -838,8 +677,6 @@ Response getTaskSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> cancelTask(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("taskId") String taskId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -850,8 +687,6 @@ Mono> cancelTask(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response cancelTaskSync(@HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @QueryParam("api-version") String apiVersion, @PathParam("taskId") String taskId,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
@@ -862,9 +697,8 @@ Response cancelTaskSync(@HostParam("endpoint") String endpoint,
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listAssetResourceNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -873,9 +707,8 @@ Mono> listAssetResourceNext(@PathParam(value = "nextLink",
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listAssetResourceNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -885,8 +718,6 @@ Response listAssetResourceNextSync(@PathParam(value = "nextLink", en
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listDataConnectionNext(
             @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
-            @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
             @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
 
         @Get("{nextLink}")
@@ -896,9 +727,8 @@ Mono> listDataConnectionNext(
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listDataConnectionNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -907,9 +737,8 @@ Response listDataConnectionNextSync(@PathParam(value = "nextLink", e
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listDiscoGroupNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -918,9 +747,8 @@ Mono> listDiscoGroupNext(@PathParam(value = "nextLink", enc
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listDiscoGroupNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -929,9 +757,8 @@ Response listDiscoGroupNextSync(@PathParam(value = "nextLink", encod
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listRunsNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -940,9 +767,8 @@ Mono> listRunsNext(@PathParam(value = "nextLink", encoded =
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listRunsNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -951,9 +777,8 @@ Response listRunsNextSync(@PathParam(value = "nextLink", encoded = t
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listDiscoTemplateNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -962,9 +787,8 @@ Mono> listDiscoTemplateNext(@PathParam(value = "nextLink",
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listDiscoTemplateNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -973,9 +797,8 @@ Response listDiscoTemplateNextSync(@PathParam(value = "nextLink", en
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listSavedFilterNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -984,9 +807,8 @@ Mono> listSavedFilterNext(@PathParam(value = "nextLink", en
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listSavedFilterNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -995,9 +817,8 @@ Response listSavedFilterNextSync(@PathParam(value = "nextLink", enco
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Mono> listTaskNext(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
 
         @Get("{nextLink}")
         @ExpectedResponses({ 200 })
@@ -1006,62 +827,27 @@ Mono> listTaskNext(@PathParam(value = "nextLink", encoded =
         @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
         @UnexpectedResponseExceptionType(HttpResponseException.class)
         Response listTaskNextSync(@PathParam(value = "nextLink", encoded = true) String nextLink,
-            @HostParam("endpoint") String endpoint, @HostParam("subscriptionId") String subscriptionId,
-            @HostParam("resourceGroupName") String resourceGroupName, @HostParam("workspaceName") String workspaceName,
-            @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context);
+            @HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, RequestOptions requestOptions,
+            Context context);
     }
 
     /**
      * Retrieve a list of assets for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent - * values are returned in the response.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent values are returned in the response.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -1093,71 +879,35 @@ Response listTaskNextSync(@PathParam(value = "nextLink", encoded = t
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of AssetResource items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of AssetResource items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listAssetResourceSinglePageAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listAssetResource(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-                requestOptions, context))
+            .withContext(context -> service.listAssetResource(this.getEndpoint(), this.getServiceVersion().getVersion(),
+                accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a list of assets for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent - * values are returned in the response.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent values are returned in the response.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -1222,55 +972,21 @@ public PagedFlux listAssetResourceAsync(RequestOptions requestOption
 
     /**
      * Retrieve a list of assets for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent - * values are returned in the response.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent values are returned in the response.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -1307,64 +1023,29 @@ public PagedFlux listAssetResourceAsync(RequestOptions requestOption
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listAssetResourceSinglePage(RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res
-            = service.listAssetResourceSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        Response res = service.listAssetResourceSync(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a list of assets for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent - * values are returned in the response.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
markStringNoSpecify this value instead of 'skip' to use cursor-based searching. Initial value is '*' and subsequent values are returned in the response.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -1429,9 +1110,7 @@ public PagedIterable listAssetResource(RequestOptions requestOptions
 
     /**
      * Update labels on assets matching the provided filter.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     state: String(candidate/confirmed/dismissed/candidateInvestigate/associatedPartner/associatedThirdparty) (Optional)
@@ -1442,9 +1121,7 @@ public PagedIterable listAssetResource(RequestOptions requestOptions
      *     transfers: String(as/contact/domain/host/ipAddress/ipBlock/page/sslCert) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1473,16 +1150,13 @@ public PagedIterable listAssetResource(RequestOptions requestOptions
     public Mono> updateAssetsWithResponseAsync(String filter, BinaryData assetUpdateData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.updateAssets(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), filter, accept,
-            assetUpdateData, requestOptions, context));
+        return FluxUtil.withContext(context -> service.updateAssets(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), filter, accept, assetUpdateData, requestOptions, context));
     }
 
     /**
      * Update labels on assets matching the provided filter.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     state: String(candidate/confirmed/dismissed/candidateInvestigate/associatedPartner/associatedThirdparty) (Optional)
@@ -1493,9 +1167,7 @@ public Mono> updateAssetsWithResponseAsync(String filter, B
      *     transfers: String(as/contact/domain/host/ipAddress/ipBlock/page/sslCert) (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1524,18 +1196,16 @@ public Mono> updateAssetsWithResponseAsync(String filter, B
     public Response updateAssetsWithResponse(String filter, BinaryData assetUpdateData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.updateAssetsSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), filter, accept, assetUpdateData,
-            requestOptions, Context.NONE);
+        return service.updateAssetsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), filter, accept,
+            assetUpdateData, requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve an asset by assetId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -1568,24 +1238,21 @@ public Response updateAssetsWithResponse(String filter, BinaryData a
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the items in the current page of results along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the items in the current page of results along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getAssetResourceWithResponseAsync(String assetId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getAssetResource(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), assetId,
-            accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getAssetResource(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), assetId, accept, requestOptions, context));
     }
 
     /**
      * Retrieve an asset by assetId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -1623,43 +1290,24 @@ public Mono> getAssetResourceWithResponseAsync(String asset
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getAssetResourceWithResponse(String assetId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getAssetResourceSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), assetId, accept, requestOptions,
-            Context.NONE);
+        return service.getAssetResourceSync(this.getEndpoint(), this.getServiceVersion().getVersion(), assetId, accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve a list of data connections.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -1679,52 +1327,32 @@ public Response getAssetResourceWithResponse(String assetId, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DataConnection items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DataConnection items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDataConnectionSinglePageAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listDataConnection(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-                requestOptions, context))
+            .withContext(context -> service.listDataConnection(this.getEndpoint(),
+                this.getServiceVersion().getVersion(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a list of data connections.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -1777,36 +1405,18 @@ public PagedFlux listDataConnectionAsync(RequestOptions requestOptio
 
     /**
      * Retrieve a list of data connections.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -1831,45 +1441,26 @@ public PagedFlux listDataConnectionAsync(RequestOptions requestOptio
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listDataConnectionSinglePage(RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res
-            = service.listDataConnectionSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        Response res = service.listDataConnectionSync(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a list of data connections.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -1922,20 +1513,17 @@ public PagedIterable listDataConnection(RequestOptions requestOption
 
     /**
      * Validate a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -1959,33 +1547,29 @@ public PagedIterable listDataConnection(RequestOptions requestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+     * @return validate result for validate action endpoints along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> validateDataConnectionWithResponseAsync(BinaryData dataConnectionData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil.withContext(context -> service.validateDataConnection(this.getEndpoint(),
-            this.getSubscriptionId(), this.getResourceGroupName(), this.getWorkspaceName(),
             this.getServiceVersion().getVersion(), accept, dataConnectionData, requestOptions, context));
     }
 
     /**
      * Validate a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -2009,24 +1593,22 @@ public Mono> validateDataConnectionWithResponseAsync(Binary
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response}.
+     * @return validate result for validate action endpoints along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response validateDataConnectionWithResponse(BinaryData dataConnectionData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.validateDataConnectionSync(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
+        return service.validateDataConnectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
             dataConnectionData, requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve a data connection with a given dataConnectionName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -2053,18 +1635,16 @@ public Response validateDataConnectionWithResponse(BinaryData dataCo
     public Mono> getDataConnectionWithResponseAsync(String dataConnectionName,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getDataConnection(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(),
-            dataConnectionName, accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getDataConnection(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), dataConnectionName, accept, requestOptions, context));
     }
 
     /**
      * Retrieve a data connection with a given dataConnectionName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -2091,29 +1671,26 @@ public Mono> getDataConnectionWithResponseAsync(String data
     public Response getDataConnectionWithResponse(String dataConnectionName,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getDataConnectionSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), dataConnectionName, accept, requestOptions,
-            Context.NONE);
+        return service.getDataConnectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
+            dataConnectionName, accept, requestOptions, Context.NONE);
     }
 
     /**
      * Create or replace a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -2141,30 +1718,27 @@ public Response getDataConnectionWithResponse(String dataConnectionN
     public Mono> createOrReplaceDataConnectionWithResponseAsync(String dataConnectionName,
         BinaryData dataConnectionData, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil
-            .withContext(context -> service.createOrReplaceDataConnection(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(),
+        return FluxUtil.withContext(
+            context -> service.createOrReplaceDataConnection(this.getEndpoint(), this.getServiceVersion().getVersion(),
                 dataConnectionName, accept, dataConnectionData, requestOptions, context));
     }
 
     /**
      * Create or replace a data connection with a given dataConnectionName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     name: String (Optional)
      *     content: String(assets/attackSurfaceInsights) (Optional)
      *     frequency: String(daily/weekly/monthly) (Optional)
      *     frequencyOffset: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -2192,8 +1766,7 @@ public Mono> createOrReplaceDataConnectionWithResponseAsync
     public Response createOrReplaceDataConnectionWithResponse(String dataConnectionName,
         BinaryData dataConnectionData, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.createOrReplaceDataConnectionSync(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(),
+        return service.createOrReplaceDataConnectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
             dataConnectionName, accept, dataConnectionData, requestOptions, Context.NONE);
     }
 
@@ -2213,7 +1786,6 @@ public Mono> deleteDataConnectionWithResponseAsync(String dataCon
         RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil.withContext(context -> service.deleteDataConnection(this.getEndpoint(),
-            this.getSubscriptionId(), this.getResourceGroupName(), this.getWorkspaceName(),
             this.getServiceVersion().getVersion(), dataConnectionName, accept, requestOptions, context));
     }
 
@@ -2231,47 +1803,22 @@ public Mono> deleteDataConnectionWithResponseAsync(String dataCon
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response deleteDataConnectionWithResponse(String dataConnectionName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.deleteDataConnectionSync(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(),
+        return service.deleteDataConnectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
             dataConnectionName, accept, requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve a list of discovery group for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2319,56 +1866,30 @@ public Response deleteDataConnectionWithResponse(String dataConnectionName
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DiscoGroup items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DiscoGroup items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDiscoGroupSinglePageAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listDiscoGroup(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-                requestOptions, context))
+            .withContext(context -> service.listDiscoGroup(this.getEndpoint(), this.getServiceVersion().getVersion(),
+                accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a list of discovery group for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2449,40 +1970,16 @@ public PagedFlux listDiscoGroupAsync(RequestOptions requestOptions)
 
     /**
      * Retrieve a list of discovery group for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2535,49 +2032,24 @@ public PagedFlux listDiscoGroupAsync(RequestOptions requestOptions)
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listDiscoGroupSinglePage(RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res
-            = service.listDiscoGroupSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        Response res = service.listDiscoGroupSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
+            accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a list of discovery group for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2658,9 +2130,7 @@ public PagedIterable listDiscoGroup(RequestOptions requestOptions) {
 
     /**
      * Validate a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -2682,9 +2152,7 @@ public PagedIterable listDiscoGroup(RequestOptions requestOptions) {
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -2708,22 +2176,19 @@ public PagedIterable listDiscoGroup(RequestOptions requestOptions) {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+     * @return validate result for validate action endpoints along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> validateDiscoGroupWithResponseAsync(BinaryData discoGroupData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.validateDiscoGroup(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-            discoGroupData, requestOptions, context));
+        return FluxUtil.withContext(context -> service.validateDiscoGroup(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, discoGroupData, requestOptions, context));
     }
 
     /**
      * Validate a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -2745,9 +2210,7 @@ public Mono> validateDiscoGroupWithResponseAsync(BinaryData
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     error (Optional): {
@@ -2771,22 +2234,19 @@ public Mono> validateDiscoGroupWithResponseAsync(BinaryData
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the response body along with {@link Response}.
+     * @return validate result for validate action endpoints along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response validateDiscoGroupWithResponse(BinaryData discoGroupData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.validateDiscoGroupSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, discoGroupData, requestOptions,
-            Context.NONE);
+        return service.validateDiscoGroupSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
+            discoGroupData, requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve a discovery group with a given groupName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2840,16 +2300,13 @@ public Response validateDiscoGroupWithResponse(BinaryData discoGroup
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getDiscoGroupWithResponseAsync(String groupName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getDiscoGroup(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName,
-            accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getDiscoGroup(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), groupName, accept, requestOptions, context));
     }
 
     /**
      * Retrieve a discovery group with a given groupName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2903,16 +2360,13 @@ public Mono> getDiscoGroupWithResponseAsync(String groupNam
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getDiscoGroupWithResponse(String groupName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getDiscoGroupSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName, accept, requestOptions,
-            Context.NONE);
+        return service.getDiscoGroupSync(this.getEndpoint(), this.getServiceVersion().getVersion(), groupName, accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Create a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -2934,9 +2388,7 @@ public Response getDiscoGroupWithResponse(String groupName, RequestO
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -2993,15 +2445,12 @@ public Mono> createOrReplaceDiscoGroupWithResponseAsync(Str
         BinaryData discoGroupData, RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil.withContext(context -> service.createOrReplaceDiscoGroup(this.getEndpoint(),
-            this.getSubscriptionId(), this.getResourceGroupName(), this.getWorkspaceName(),
             this.getServiceVersion().getVersion(), groupName, accept, discoGroupData, requestOptions, context));
     }
 
     /**
      * Create a discovery group with a given groupName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     name: String (Optional)
@@ -3023,9 +2472,7 @@ public Mono> createOrReplaceDiscoGroupWithResponseAsync(Str
      *     templateId: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -3081,9 +2528,8 @@ public Mono> createOrReplaceDiscoGroupWithResponseAsync(Str
     public Response createOrReplaceDiscoGroupWithResponse(String groupName, BinaryData discoGroupData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.createOrReplaceDiscoGroupSync(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName,
-            accept, discoGroupData, requestOptions, Context.NONE);
+        return service.createOrReplaceDiscoGroupSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
+            groupName, accept, discoGroupData, requestOptions, Context.NONE);
     }
 
     /**
@@ -3100,9 +2546,8 @@ public Response createOrReplaceDiscoGroupWithResponse(String groupNa
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> runDiscoGroupWithResponseAsync(String groupName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.runDiscoGroup(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName,
-            accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.runDiscoGroup(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), groupName, accept, requestOptions, context));
     }
 
     /**
@@ -3119,47 +2564,22 @@ public Mono> runDiscoGroupWithResponseAsync(String groupName, Req
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response runDiscoGroupWithResponse(String groupName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.runDiscoGroupSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName, accept, requestOptions,
-            Context.NONE);
+        return service.runDiscoGroupSync(this.getEndpoint(), this.getServiceVersion().getVersion(), groupName, accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve a collection of discovery run results for a discovery group with a given groupName.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     submittedDate: OffsetDateTime (Optional)
@@ -3195,49 +2615,24 @@ public Response runDiscoGroupWithResponse(String groupName, RequestOptions
     private Mono> listRunsSinglePageAsync(String groupName, RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listRuns(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName,
-                accept, requestOptions, context))
+            .withContext(context -> service.listRuns(this.getEndpoint(), this.getServiceVersion().getVersion(),
+                groupName, accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a collection of discovery run results for a discovery group with a given groupName.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     submittedDate: OffsetDateTime (Optional)
@@ -3300,40 +2695,16 @@ public PagedFlux listRunsAsync(String groupName, RequestOptions requ
 
     /**
      * Retrieve a collection of discovery run results for a discovery group with a given groupName.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     submittedDate: OffsetDateTime (Optional)
@@ -3368,49 +2739,24 @@ public PagedFlux listRunsAsync(String groupName, RequestOptions requ
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listRunsSinglePage(String groupName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res = service.listRunsSync(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), groupName,
-            accept, requestOptions, Context.NONE);
+        Response res = service.listRunsSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
+            groupName, accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a collection of discovery run results for a discovery group with a given groupName.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     submittedDate: OffsetDateTime (Optional)
@@ -3473,40 +2819,16 @@ public PagedIterable listRuns(String groupName, RequestOptions reque
 
     /**
      * Retrieve a list of disco templates for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3534,56 +2856,30 @@ public PagedIterable listRuns(String groupName, RequestOptions reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DiscoTemplate items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DiscoTemplate items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDiscoTemplateSinglePageAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listDiscoTemplate(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-                requestOptions, context))
+            .withContext(context -> service.listDiscoTemplate(this.getEndpoint(), this.getServiceVersion().getVersion(),
+                accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a list of disco templates for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3644,40 +2940,16 @@ public PagedFlux listDiscoTemplateAsync(RequestOptions requestOption
 
     /**
      * Retrieve a list of disco templates for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3710,49 +2982,24 @@ public PagedFlux listDiscoTemplateAsync(RequestOptions requestOption
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listDiscoTemplateSinglePage(RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res
-            = service.listDiscoTemplateSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        Response res = service.listDiscoTemplateSync(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a list of disco templates for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3813,9 +3060,7 @@ public PagedIterable listDiscoTemplate(RequestOptions requestOptions
 
     /**
      * Retrieve a disco template with a given templateId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3844,23 +3089,19 @@ public PagedIterable listDiscoTemplate(RequestOptions requestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the items in the current page of results along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the items in the current page of results along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getDiscoTemplateWithResponseAsync(String templateId,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getDiscoTemplate(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), templateId,
-            accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getDiscoTemplate(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), templateId, accept, requestOptions, context));
     }
 
     /**
      * Retrieve a disco template with a given templateId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3894,16 +3135,13 @@ public Mono> getDiscoTemplateWithResponseAsync(String templ
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getDiscoTemplateWithResponse(String templateId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getDiscoTemplateSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), templateId, accept, requestOptions,
-            Context.NONE);
+        return service.getDiscoTemplateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), templateId,
+            accept, requestOptions, Context.NONE);
     }
 
     /**
      * Get billable assets summary for the workspace.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -3926,22 +3164,18 @@ public Response getDiscoTemplateWithResponse(String templateId, Requ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return billable assets summary for the workspace along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return billable assets summary for the workspace along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getBillableWithResponseAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(
-            context -> service.getBillable(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getBillable(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, requestOptions, context));
     }
 
     /**
      * Get billable assets summary for the workspace.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -3969,15 +3203,13 @@ public Mono> getBillableWithResponseAsync(RequestOptions re
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getBillableWithResponse(RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getBillableSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        return service.getBillableSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Get the most recent snapshot of asset summary values for the snapshot request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metric: String (Optional)
@@ -3986,9 +3218,7 @@ public Response getBillableWithResponse(RequestOptions requestOption
      *     page: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     displayName: String (Optional)
@@ -4002,6 +3232,7 @@ public Response getBillableWithResponse(RequestOptions requestOption
      *         nextLink: String (Optional)
      *         value (Optional): [
      *              (Optional){
+     *                 kind: String (Required)
      *                 id: String (Required)
      *                 name: String (Optional)
      *                 displayName: String (Optional)
@@ -4037,23 +3268,19 @@ public Response getBillableWithResponse(RequestOptions requestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the most recent snapshot of asset summary values for the snapshot request along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return the most recent snapshot of asset summary values for the snapshot request along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getSnapshotWithResponseAsync(BinaryData reportAssetSnapshotRequest,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getSnapshot(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-            reportAssetSnapshotRequest, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getSnapshot(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, reportAssetSnapshotRequest, requestOptions, context));
     }
 
     /**
      * Get the most recent snapshot of asset summary values for the snapshot request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metric: String (Optional)
@@ -4062,9 +3289,7 @@ public Mono> getSnapshotWithResponseAsync(BinaryData report
      *     page: Integer (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     displayName: String (Optional)
@@ -4078,6 +3303,7 @@ public Mono> getSnapshotWithResponseAsync(BinaryData report
      *         nextLink: String (Optional)
      *         value (Optional): [
      *              (Optional){
+     *                 kind: String (Required)
      *                 id: String (Required)
      *                 name: String (Optional)
      *                 displayName: String (Optional)
@@ -4119,16 +3345,13 @@ public Mono> getSnapshotWithResponseAsync(BinaryData report
     public Response getSnapshotWithResponse(BinaryData reportAssetSnapshotRequest,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getSnapshotSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, reportAssetSnapshotRequest,
-            requestOptions, Context.NONE);
+        return service.getSnapshotSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
+            reportAssetSnapshotRequest, requestOptions, Context.NONE);
     }
 
     /**
      * Get asset summary details for the summary request.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metricCategories (Optional): [
@@ -4145,9 +3368,7 @@ public Response getSnapshotWithResponse(BinaryData reportAssetSnapsh
      *     labelName: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -4169,30 +3390,25 @@ public Response getSnapshotWithResponse(BinaryData reportAssetSnapsh
      * }
      * }
* - * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one - * collection of summary identifiers must be provided: filters, metrics, or metricCategories. + * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return asset summary details for the summary request along with {@link Response} on successful completion of - * {@link Mono}. + * @return asset summary details for the summary request along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getSummaryWithResponseAsync(BinaryData reportAssetSummaryRequest, RequestOptions requestOptions) { final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getSummary(this.getEndpoint(), this.getSubscriptionId(), - this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, - reportAssetSummaryRequest, requestOptions, context)); + return FluxUtil.withContext(context -> service.getSummary(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, reportAssetSummaryRequest, requestOptions, context)); } /** * Get asset summary details for the summary request. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metricCategories (Optional): [
@@ -4209,9 +3425,7 @@ public Mono> getSummaryWithResponseAsync(BinaryData reportA
      *     labelName: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     assetSummaries (Optional): [
@@ -4233,8 +3447,7 @@ public Mono> getSummaryWithResponseAsync(BinaryData reportA
      * }
      * }
* - * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one - * collection of summary identifiers must be provided: filters, metrics, or metricCategories. + * @param reportAssetSummaryRequest A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -4246,47 +3459,22 @@ public Mono> getSummaryWithResponseAsync(BinaryData reportA public Response getSummaryWithResponse(BinaryData reportAssetSummaryRequest, RequestOptions requestOptions) { final String accept = "application/json"; - return service.getSummarySync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(), - this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, reportAssetSummaryRequest, - requestOptions, Context.NONE); + return service.getSummarySync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + reportAssetSummaryRequest, requestOptions, Context.NONE); } /** * Retrieve a list of saved filters for the provided search parameters. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4302,56 +3490,30 @@ public Response getSummaryWithResponse(BinaryData reportAssetSummary
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of SavedFilter items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of SavedFilter items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listSavedFilterSinglePageAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listSavedFilter(this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept,
-                requestOptions, context))
+            .withContext(context -> service.listSavedFilter(this.getEndpoint(), this.getServiceVersion().getVersion(),
+                accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a list of saved filters for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4400,40 +3562,16 @@ public PagedFlux listSavedFilterAsync(RequestOptions requestOptions)
 
     /**
      * Retrieve a list of saved filters for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4454,49 +3592,24 @@ public PagedFlux listSavedFilterAsync(RequestOptions requestOptions)
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listSavedFilterSinglePage(RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res
-            = service.listSavedFilterSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        Response res = service.listSavedFilterSync(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a list of saved filters for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4545,9 +3658,7 @@ public PagedIterable listSavedFilter(RequestOptions requestOptions)
 
     /**
      * Retrieve a saved filter by filterName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4570,16 +3681,13 @@ public PagedIterable listSavedFilter(RequestOptions requestOptions)
     public Mono> getSavedFilterWithResponseAsync(String filterName,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getSavedFilter(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), filterName,
-            accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.getSavedFilter(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), filterName, accept, requestOptions, context));
     }
 
     /**
      * Retrieve a saved filter by filterName.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4601,25 +3709,20 @@ public Mono> getSavedFilterWithResponseAsync(String filterN
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getSavedFilterWithResponse(String filterName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getSavedFilterSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), filterName, accept, requestOptions,
-            Context.NONE);
+        return service.getSavedFilterSync(this.getEndpoint(), this.getServiceVersion().getVersion(), filterName, accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Create or replace a saved filter with a given filterName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     filter: String (Required)
      *     description: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4644,24 +3747,19 @@ public Mono> createOrReplaceSavedFilterWithResponseAsync(St
         BinaryData savedFilterData, RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil.withContext(context -> service.createOrReplaceSavedFilter(this.getEndpoint(),
-            this.getSubscriptionId(), this.getResourceGroupName(), this.getWorkspaceName(),
             this.getServiceVersion().getVersion(), filterName, accept, savedFilterData, requestOptions, context));
     }
 
     /**
      * Create or replace a saved filter with a given filterName.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     filter: String (Required)
      *     description: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -4685,9 +3783,8 @@ public Mono> createOrReplaceSavedFilterWithResponseAsync(St
     public Response createOrReplaceSavedFilterWithResponse(String filterName, BinaryData savedFilterData,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.createOrReplaceSavedFilterSync(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), filterName,
-            accept, savedFilterData, requestOptions, Context.NONE);
+        return service.createOrReplaceSavedFilterSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
+            filterName, accept, savedFilterData, requestOptions, Context.NONE);
     }
 
     /**
@@ -4704,9 +3801,8 @@ public Response createOrReplaceSavedFilterWithResponse(String filter
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteSavedFilterWithResponseAsync(String filterName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.deleteSavedFilter(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), filterName,
-            accept, requestOptions, context));
+        return FluxUtil.withContext(context -> service.deleteSavedFilter(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), filterName, accept, requestOptions, context));
     }
 
     /**
@@ -4723,53 +3819,23 @@ public Mono> deleteSavedFilterWithResponseAsync(String filterName
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response deleteSavedFilterWithResponse(String filterName, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.deleteSavedFilterSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), filterName, accept, requestOptions,
-            Context.NONE);
+        return service.deleteSavedFilterSync(this.getEndpoint(), this.getServiceVersion().getVersion(), filterName,
+            accept, requestOptions, Context.NONE);
     }
 
     /**
      * Retrieve a list of tasks for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -4796,55 +3862,25 @@ public Response deleteSavedFilterWithResponse(String filterName, RequestOp
     private Mono> listTaskSinglePageAsync(RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(
-                context -> service.listTask(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                    this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, context))
+            .withContext(context -> service.listTask(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
+                requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Retrieve a list of tasks for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -4898,46 +3934,17 @@ public PagedFlux listTaskAsync(RequestOptions requestOptions) {
 
     /**
      * Retrieve a list of tasks for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -4963,55 +3970,25 @@ public PagedFlux listTaskAsync(RequestOptions requestOptions) {
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listTaskSinglePage(RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res
-            = service.listTaskSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-                this.getWorkspaceName(), this.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+        Response res = service.listTaskSync(this.getEndpoint(), this.getServiceVersion().getVersion(),
+            accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Retrieve a list of tasks for the provided search parameters.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
Query Parameters
NameTypeRequiredDescription
filterStringNoFilter the result list using the given expression.
orderbyStringNoA list of expressions that specify the order of the returned resources.
skipIntegerNoThe number of result items to skip.
maxpagesizeIntegerNoThe maximum number of result items per page.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5065,9 +4042,7 @@ public PagedIterable listTask(RequestOptions requestOptions) {
 
     /**
      * Retrieve a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5094,16 +4069,13 @@ public PagedIterable listTask(RequestOptions requestOptions) {
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTaskWithResponseAsync(String taskId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.getTask(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), taskId, accept,
-            requestOptions, context));
+        return FluxUtil.withContext(context -> service.getTask(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), taskId, accept, requestOptions, context));
     }
 
     /**
      * Retrieve a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5130,16 +4102,13 @@ public Mono> getTaskWithResponseAsync(String taskId, Reques
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getTaskWithResponse(String taskId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.getTaskSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), taskId, accept, requestOptions,
-            Context.NONE);
+        return service.getTaskSync(this.getEndpoint(), this.getServiceVersion().getVersion(), taskId, accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Cancel a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5166,16 +4135,13 @@ public Response getTaskWithResponse(String taskId, RequestOptions re
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> cancelTaskWithResponseAsync(String taskId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil.withContext(context -> service.cancelTask(this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), this.getServiceVersion().getVersion(), taskId, accept,
-            requestOptions, context));
+        return FluxUtil.withContext(context -> service.cancelTask(this.getEndpoint(),
+            this.getServiceVersion().getVersion(), taskId, accept, requestOptions, context));
     }
 
     /**
      * Cancel a task by taskId.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5202,18 +4168,16 @@ public Mono> cancelTaskWithResponseAsync(String taskId, Req
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response cancelTaskWithResponse(String taskId, RequestOptions requestOptions) {
         final String accept = "application/json";
-        return service.cancelTaskSync(this.getEndpoint(), this.getSubscriptionId(), this.getResourceGroupName(),
-            this.getWorkspaceName(), this.getServiceVersion().getVersion(), taskId, accept, requestOptions,
-            Context.NONE);
+        return service.cancelTaskSync(this.getEndpoint(), this.getServiceVersion().getVersion(), taskId, accept,
+            requestOptions, Context.NONE);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -5248,8 +4212,7 @@ public Response cancelTaskWithResponse(String taskId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of AssetResource items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of AssetResource items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listAssetResourceNextSinglePageAsync(String nextLink,
@@ -5257,19 +4220,17 @@ private Mono> listAssetResourceNextSinglePageAsync(Str
         final String accept = "application/json";
         return FluxUtil
             .withContext(
-                context -> service.listAssetResourceNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                    this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+                context -> service.listAssetResourceNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Required)
      *     name: String (Optional)
      *     displayName: String (Optional)
@@ -5310,19 +4271,17 @@ private Mono> listAssetResourceNextSinglePageAsync(Str
     private PagedResponse listAssetResourceNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
         Response res
-            = service.listAssetResourceNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+            = service.listAssetResourceNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -5345,28 +4304,24 @@ private PagedResponse listAssetResourceNextSinglePage(String nextLin
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DataConnection items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DataConnection items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDataConnectionNextSinglePageAsync(String nextLink,
         RequestOptions requestOptions) {
         final String accept = "application/json";
-        return FluxUtil
-            .withContext(
-                context -> service.listDataConnectionNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                    this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+        return FluxUtil.withContext(
+            context -> service.listDataConnectionNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
+     *     kind: String (Required)
      *     id: String (Optional)
      *     name: String (Required)
      *     displayName: String (Optional)
@@ -5395,17 +4350,14 @@ private Mono> listDataConnectionNextSinglePageAsync(St
     private PagedResponse listDataConnectionNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
         Response res
-            = service.listDataConnectionNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+            = service.listDataConnectionNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -5456,25 +4408,22 @@ private PagedResponse listDataConnectionNextSinglePage(String nextLi
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DiscoGroup items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DiscoGroup items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDiscoGroupNextSinglePageAsync(String nextLink,
         RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listDiscoGroupNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+            .withContext(
+                context -> service.listDiscoGroupNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -5531,17 +4480,14 @@ private Mono> listDiscoGroupNextSinglePageAsync(String
     private PagedResponse listDiscoGroupNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
         Response res
-            = service.listDiscoGroupNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+            = service.listDiscoGroupNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     submittedDate: OffsetDateTime (Optional)
@@ -5580,17 +4526,14 @@ private Mono> listRunsNextSinglePageAsync(String nextL
         RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listRunsNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+            .withContext(context -> service.listRunsNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     submittedDate: OffsetDateTime (Optional)
@@ -5627,17 +4570,15 @@ private Mono> listRunsNextSinglePageAsync(String nextL
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listRunsNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res = service.listRunsNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+        Response res
+            = service.listRunsNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5668,8 +4609,7 @@ private PagedResponse listRunsNextSinglePage(String nextLink, Reques
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of DiscoTemplate items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of DiscoTemplate items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listDiscoTemplateNextSinglePageAsync(String nextLink,
@@ -5677,17 +4617,14 @@ private Mono> listDiscoTemplateNextSinglePageAsync(Str
         final String accept = "application/json";
         return FluxUtil
             .withContext(
-                context -> service.listDiscoTemplateNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                    this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+                context -> service.listDiscoTemplateNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5724,17 +4661,14 @@ private Mono> listDiscoTemplateNextSinglePageAsync(Str
     private PagedResponse listDiscoTemplateNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
         Response res
-            = service.listDiscoTemplateNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+            = service.listDiscoTemplateNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -5753,25 +4687,22 @@ private PagedResponse listDiscoTemplateNextSinglePage(String nextLin
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return paged collection of SavedFilter items along with {@link PagedResponse} on successful completion of
-     * {@link Mono}.
+     * @return paged collection of SavedFilter items along with {@link PagedResponse} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> listSavedFilterNextSinglePageAsync(String nextLink,
         RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listSavedFilterNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+            .withContext(
+                context -> service.listSavedFilterNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Optional)
@@ -5796,17 +4727,14 @@ private Mono> listSavedFilterNextSinglePageAsync(Strin
     private PagedResponse listSavedFilterNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
         Response res
-            = service.listSavedFilterNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+            = service.listSavedFilterNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5837,17 +4765,14 @@ private Mono> listTaskNextSinglePageAsync(String nextL
         RequestOptions requestOptions) {
         final String accept = "application/json";
         return FluxUtil
-            .withContext(context -> service.listTaskNext(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-                this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, context))
+            .withContext(context -> service.listTaskNext(nextLink, this.getEndpoint(), accept, requestOptions, context))
             .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
                 getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null));
     }
 
     /**
      * Get the next page of items.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -5876,8 +4801,8 @@ private Mono> listTaskNextSinglePageAsync(String nextL
     @ServiceMethod(returns = ReturnType.SINGLE)
     private PagedResponse listTaskNextSinglePage(String nextLink, RequestOptions requestOptions) {
         final String accept = "application/json";
-        Response res = service.listTaskNextSync(nextLink, this.getEndpoint(), this.getSubscriptionId(),
-            this.getResourceGroupName(), this.getWorkspaceName(), accept, requestOptions, Context.NONE);
+        Response res
+            = service.listTaskNextSync(nextLink, this.getEndpoint(), accept, requestOptions, Context.NONE);
         return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
             getValues(res.getValue(), "value"), getNextLink(res.getValue(), "nextLink"), null);
     }
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AsAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AsAssetResource.java
index 81d9532f1f23..bc270d038d8f 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AsAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AsAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The AsAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = AsAssetResource.class, visible = true)
 @JsonTypeName("as")
 @Immutable
 public final class AsAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class AsAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private AsAsset asset;
+    private final AsAsset asset;
 
     /**
      * Creates an instance of AsAssetResource class.
@@ -33,6 +33,7 @@ public final class AsAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private AsAssetResource(@JsonProperty(value = "asset") AsAsset asset) {
+        setKind("as");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetPageResult.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetPageResult.java
index 019921235e94..3c13798389a4 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetPageResult.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetPageResult.java
@@ -22,14 +22,14 @@ public final class AssetPageResult {
     private Long totalElements;
 
     /*
-     * The cursor mark to be used on the next request. Not set if using paging.
+     * The cursor mark to be used on the next request.  Not set if using paging.
      */
     @Generated
     @JsonProperty(value = "mark")
     private String mark;
 
     /*
-     * The link to access the next page of results. Not set if at the end of the result set.
+     * The link to access the next page of results.  Not set if at the end of the result set.
      */
     @Generated
     @JsonProperty(value = "nextLink")
@@ -60,7 +60,7 @@ public Long getTotalElements() {
     }
 
     /**
-     * Get the mark property: The cursor mark to be used on the next request. Not set if using paging.
+     * Get the mark property: The cursor mark to be used on the next request.  Not set if using paging.
      *
      * @return the mark value.
      */
@@ -70,8 +70,7 @@ public String getMark() {
     }
 
     /**
-     * Get the nextLink property: The link to access the next page of results. Not set if at the end of the result
-     * set.
+     * Get the nextLink property: The link to access the next page of results.  Not set if at the end of the result set.
      *
      * @return the nextLink value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetResource.java
index 7bf8970da840..9fa1fe002c63 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetResource.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.time.OffsetDateTime;
@@ -15,11 +16,7 @@
 /**
  * The items in the current page of results.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = AssetResource.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = AssetResource.class, visible = true)
 @JsonTypeName("AssetResource")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "as", value = AsAssetResource.class),
@@ -129,6 +126,7 @@ public class AssetResource {
      */
     @Generated
     protected AssetResource() {
+        this.kind = "AssetResource";
     }
 
     /**
@@ -222,8 +220,7 @@ public List getLabels() {
     }
 
     /**
-     * Get the wildcard property: An indicator of whether this asset represents a wildcard rollup of assets on this
-     * domain.
+     * Get the wildcard property: An indicator of whether this asset represents a wildcard rollup of assets on this domain.
      *
      * @return the wildcard value.
      */
@@ -243,8 +240,7 @@ public String getDiscoGroupName() {
     }
 
     /**
-     * Get the auditTrail property: The history of how this asset was pulled into the workspace through the discovery
-     * process.
+     * Get the auditTrail property: The history of how this asset was pulled into the workspace through the discovery process.
      *
      * @return the auditTrail value.
      */
@@ -262,4 +258,34 @@ public List getAuditTrail() {
     public String getReason() {
         return this.reason;
     }
+
+    /*
+     * The kind of AssetResource
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private String kind;
+
+    /**
+     * Get the kind property: The kind of AssetResource.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public String getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The kind of AssetResource.
+     *
+     * @param kind the kind value to set.
+     * @return the AssetResource object itself.
+     */
+    @Generated
+    protected AssetResource setKind(String kind) {
+        this.kind = kind;
+        return this;
+    }
 }
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetState.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetState.java
index bd60827d2ea0..627268d946cc 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetState.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetState.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for AssetState.
+ * The state of assets.
  */
 public final class AssetState extends ExpandableStringEnum {
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetSummaryResult.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetSummaryResult.java
index ba753567496a..80762783b402 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetSummaryResult.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AssetSummaryResult.java
@@ -16,23 +16,21 @@
 public final class AssetSummaryResult {
 
     /*
-     * The name of the summary response. Depending on the request time this will either be the asset filter, risk
-     * category, or risk metric.
+     * The name of the summary response.  Depending on the request time this will either be the asset filter, risk category, or risk metric.
      */
     @Generated
     @JsonProperty(value = "displayName")
     private String displayName;
 
     /*
-     * The description of the summary response. Filters don't have a description.
+     * The description of the summary response.  Filters don't have a description.
      */
     @Generated
     @JsonProperty(value = "description")
     private String description;
 
     /*
-     * The last time risk categories or risk metrics were captured. Set to the current time for asset filter requests,
-     * which always pull the live asset data.
+     * The last time risk categories or risk metrics were captured. Set to the current time for asset filter requests, which always pull the live asset data.
      */
     @Generated
     @JsonProperty(value = "updatedAt")
@@ -81,8 +79,7 @@ public final class AssetSummaryResult {
     private String link;
 
     /*
-     * The corresponding child entities. For metric categories this will contain metrics. For filters with groupBy
-     * and segmentBy this will contain facets.
+     * The corresponding child entities.  For metric categories this will contain metrics.  For filters with groupBy and segmentBy this will contain facets.
      */
     @Generated
     @JsonProperty(value = "children")
@@ -96,8 +93,7 @@ private AssetSummaryResult() {
     }
 
     /**
-     * Get the displayName property: The name of the summary response. Depending on the request time this will either
-     * be the asset filter, risk category, or risk metric.
+     * Get the displayName property: The name of the summary response.  Depending on the request time this will either be the asset filter, risk category, or risk metric.
      *
      * @return the displayName value.
      */
@@ -107,7 +103,7 @@ public String getDisplayName() {
     }
 
     /**
-     * Get the description property: The description of the summary response. Filters don't have a description.
+     * Get the description property: The description of the summary response.  Filters don't have a description.
      *
      * @return the description value.
      */
@@ -117,8 +113,7 @@ public String getDescription() {
     }
 
     /**
-     * Get the updatedAt property: The last time risk categories or risk metrics were captured. Set to the current time
-     * for asset filter requests, which always pull the live asset data.
+     * Get the updatedAt property: The last time risk categories or risk metrics were captured. Set to the current time for asset filter requests, which always pull the live asset data.
      *
      * @return the updatedAt value.
      */
@@ -128,8 +123,7 @@ public OffsetDateTime getUpdatedAt() {
     }
 
     /**
-     * Get the metricCategory property: If the request is for a metric category, this will contain the requested unique
-     * category name.
+     * Get the metricCategory property: If the request is for a metric category, this will contain the requested unique category name.
      *
      * @return the metricCategory value.
      */
@@ -189,8 +183,7 @@ public String getLink() {
     }
 
     /**
-     * Get the children property: The corresponding child entities. For metric categories this will contain metrics.
-     * For filters with groupBy and segmentBy this will contain facets.
+     * Get the children property: The corresponding child entities.  For metric categories this will contain metrics.  For filters with groupBy and segmentBy this will contain facets.
      *
      * @return the children value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnection.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnection.java
index 9f8708af8d75..a9f1c00032ae 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnection.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnection.java
@@ -13,7 +13,11 @@
 /**
  * The AzureDataExplorerDataConnection model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = AzureDataExplorerDataConnection.class,
+    visible = true)
 @JsonTypeName("azureDataExplorer")
 @Immutable
 public final class AzureDataExplorerDataConnection extends DataConnection {
@@ -23,7 +27,7 @@ public final class AzureDataExplorerDataConnection extends DataConnection {
      */
     @Generated
     @JsonProperty(value = "properties")
-    private AzureDataExplorerDataConnectionProperties properties;
+    private final AzureDataExplorerDataConnectionProperties properties;
 
     /**
      * Creates an instance of AzureDataExplorerDataConnection class.
@@ -34,6 +38,7 @@ public final class AzureDataExplorerDataConnection extends DataConnection {
     @JsonCreator
     private AzureDataExplorerDataConnection(
         @JsonProperty(value = "properties") AzureDataExplorerDataConnectionProperties properties) {
+        setKind("azureDataExplorer");
         this.properties = properties;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnectionData.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnectionData.java
index 55d3c7a14877..65dfd87b752a 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnectionData.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/AzureDataExplorerDataConnectionData.java
@@ -13,7 +13,11 @@
 /**
  * The AzureDataExplorerDataConnectionData model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = AzureDataExplorerDataConnectionData.class,
+    visible = true)
 @JsonTypeName("azureDataExplorer")
 @Fluent
 public final class AzureDataExplorerDataConnectionData extends DataConnectionData {
@@ -23,7 +27,7 @@ public final class AzureDataExplorerDataConnectionData extends DataConnectionDat
      */
     @Generated
     @JsonProperty(value = "properties")
-    private AzureDataExplorerDataConnectionProperties properties;
+    private final AzureDataExplorerDataConnectionProperties properties;
 
     /**
      * Creates an instance of AzureDataExplorerDataConnectionData class.
@@ -34,6 +38,7 @@ public final class AzureDataExplorerDataConnectionData extends DataConnectionDat
     @JsonCreator
     public AzureDataExplorerDataConnectionData(
         @JsonProperty(value = "properties") AzureDataExplorerDataConnectionProperties properties) {
+        setKind("azureDataExplorer");
         this.properties = properties;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ContactAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ContactAssetResource.java
index 6d2565450721..9427aeb04a96 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ContactAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ContactAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The ContactAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = ContactAssetResource.class, visible = true)
 @JsonTypeName("contact")
 @Immutable
 public final class ContactAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class ContactAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private ContactAsset asset;
+    private final ContactAsset asset;
 
     /**
      * Creates an instance of ContactAssetResource class.
@@ -33,6 +33,7 @@ public final class ContactAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private ContactAssetResource(@JsonProperty(value = "asset") ContactAsset asset) {
+        setKind("contact");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnection.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnection.java
index f97cf9330e4c..be985806f2f7 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnection.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnection.java
@@ -7,6 +7,7 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.time.OffsetDateTime;
@@ -14,11 +15,7 @@
 /**
  * The DataConnection model.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = DataConnection.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = DataConnection.class, visible = true)
 @JsonTypeName("DataConnection")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "logAnalytics", value = LogAnalyticsDataConnection.class),
@@ -108,6 +105,7 @@ public class DataConnection {
      */
     @Generated
     protected DataConnection() {
+        this.kind = "DataConnection";
     }
 
     /**
@@ -219,4 +217,34 @@ public Boolean isActive() {
     public String getInactiveMessage() {
         return this.inactiveMessage;
     }
+
+    /*
+     * The kind of DataConnection
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private String kind;
+
+    /**
+     * Get the kind property: The kind of DataConnection.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public String getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The kind of DataConnection.
+     *
+     * @param kind the kind value to set.
+     * @return the DataConnection object itself.
+     */
+    @Generated
+    protected DataConnection setKind(String kind) {
+        this.kind = kind;
+        return this;
+    }
 }
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnectionData.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnectionData.java
index 7bf9ac3f7830..8e1d05b95ba9 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnectionData.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DataConnectionData.java
@@ -7,17 +7,14 @@
 import com.azure.core.annotation.Generated;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
  * The DataConnectionData model.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = DataConnectionData.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = DataConnectionData.class, visible = true)
 @JsonTypeName("DataConnectionData")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "logAnalytics", value = LogAnalyticsDataConnectionData.class),
@@ -58,6 +55,7 @@ public class DataConnectionData {
      */
     @Generated
     public DataConnectionData() {
+        this.kind = "DataConnectionData";
     }
 
     /**
@@ -147,4 +145,34 @@ public DataConnectionData setFrequencyOffset(Integer frequencyOffset) {
         this.frequencyOffset = frequencyOffset;
         return this;
     }
+
+    /*
+     * The kind of DataConnectionData
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private String kind;
+
+    /**
+     * Get the kind property: The kind of DataConnectionData.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public String getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: The kind of DataConnectionData.
+     *
+     * @param kind the kind value to set.
+     * @return the DataConnectionData object itself.
+     */
+    @Generated
+    protected DataConnectionData setKind(String kind) {
+        this.kind = kind;
+        return this;
+    }
 }
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroup.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroup.java
index 220fb48052cb..0ed913c86991 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroup.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroup.java
@@ -147,8 +147,7 @@ public String getDescription() {
     }
 
     /**
-     * Get the tier property: The tier for the disco group which will affect the algorithm used for the disco runs in
-     * this group.
+     * Get the tier property: The tier for the disco group which will affect the algorithm used for the disco runs in this group.
      *
      * @return the tier value.
      */
@@ -158,8 +157,7 @@ public String getTier() {
     }
 
     /**
-     * Get the frequencyMilliseconds property: The frequency at which the disco group is supposed to be rerun in
-     * milliseconds.
+     * Get the frequencyMilliseconds property: The frequency at which the disco group is supposed to be rerun in milliseconds.
      *
      * @return the frequencyMilliseconds value.
      */
@@ -189,8 +187,7 @@ public List getNames() {
     }
 
     /**
-     * Get the excludes property: The list of excludes used for the disco group runs, aka assets to exclude from the
-     * discovery algorithm.
+     * Get the excludes property: The list of excludes used for the disco group runs, aka assets to exclude from the discovery algorithm.
      *
      * @return the excludes value.
      */
@@ -200,8 +197,7 @@ public List getExcludes() {
     }
 
     /**
-     * Get the latestRun property: The latest run of this disco group with some limited information, null if the group
-     * has never been run.
+     * Get the latestRun property: The latest run of this disco group with some limited information, null if the group has never been run.
      *
      * @return the latestRun value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroupData.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroupData.java
index ac3ccb9cb5ad..e58baaab485b 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroupData.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoGroupData.java
@@ -122,8 +122,7 @@ public DiscoGroupData setDescription(String description) {
     }
 
     /**
-     * Get the tier property: The tier for the disco group which will affect the algorithm used for the disco runs in
-     * this group.
+     * Get the tier property: The tier for the disco group which will affect the algorithm used for the disco runs in this group.
      *
      * @return the tier value.
      */
@@ -133,8 +132,7 @@ public String getTier() {
     }
 
     /**
-     * Set the tier property: The tier for the disco group which will affect the algorithm used for the disco runs in
-     * this group.
+     * Set the tier property: The tier for the disco group which will affect the algorithm used for the disco runs in this group.
      *
      * @param tier the tier value to set.
      * @return the DiscoGroupData object itself.
@@ -146,8 +144,7 @@ public DiscoGroupData setTier(String tier) {
     }
 
     /**
-     * Get the frequencyMilliseconds property: The frequency at which the disco group is supposed to be rerun in
-     * milliseconds.
+     * Get the frequencyMilliseconds property: The frequency at which the disco group is supposed to be rerun in milliseconds.
      *
      * @return the frequencyMilliseconds value.
      */
@@ -157,8 +154,7 @@ public Long getFrequencyMilliseconds() {
     }
 
     /**
-     * Set the frequencyMilliseconds property: The frequency at which the disco group is supposed to be rerun in
-     * milliseconds.
+     * Set the frequencyMilliseconds property: The frequency at which the disco group is supposed to be rerun in milliseconds.
      *
      * @param frequencyMilliseconds the frequencyMilliseconds value to set.
      * @return the DiscoGroupData object itself.
@@ -214,8 +210,7 @@ public DiscoGroupData setNames(List names) {
     }
 
     /**
-     * Get the excludes property: The list of excludes used for the disco group runs, aka assets to exclude from the
-     * discovery algorithm.
+     * Get the excludes property: The list of excludes used for the disco group runs, aka assets to exclude from the discovery algorithm.
      *
      * @return the excludes value.
      */
@@ -225,8 +220,7 @@ public List getExcludes() {
     }
 
     /**
-     * Set the excludes property: The list of excludes used for the disco group runs, aka assets to exclude from the
-     * discovery algorithm.
+     * Set the excludes property: The list of excludes used for the disco group runs, aka assets to exclude from the discovery algorithm.
      *
      * @param excludes the excludes value to set.
      * @return the DiscoGroupData object itself.
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoRunResult.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoRunResult.java
index f3b4bf36bdaa..d145b152f39a 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoRunResult.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DiscoRunResult.java
@@ -156,8 +156,7 @@ public List getSeeds() {
     }
 
     /**
-     * Get the excludes property: The list of excludes used for the disco run, aka assets to exclude from the discovery
-     * algorithm.
+     * Get the excludes property: The list of excludes used for the disco run, aka assets to exclude from the discovery algorithm.
      *
      * @return the excludes value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAsset.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAsset.java
index fb7e7a6b0301..596af214ac39 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAsset.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAsset.java
@@ -13,7 +13,7 @@
  * The DomainAsset model.
  */
 @Immutable
-public final class DomainAsset extends InventoryAsset {
+public final class DomainAsset {
 
     /*
      * The domain property.
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAssetResource.java
index 5b980461361a..1c4b1a76279f 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/DomainAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The DomainAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = DomainAssetResource.class, visible = true)
 @JsonTypeName("domain")
 @Immutable
 public final class DomainAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class DomainAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private DomainAsset asset;
+    private final DomainAsset asset;
 
     /**
      * Creates an instance of DomainAssetResource class.
@@ -33,6 +33,7 @@ public final class DomainAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private DomainAssetResource(@JsonProperty(value = "asset") DomainAsset asset) {
+        setKind("domain");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ErrorDetail.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ErrorDetail.java
index 558e1c5edbf0..045044687cdf 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ErrorDetail.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ErrorDetail.java
@@ -20,14 +20,14 @@ public final class ErrorDetail {
      */
     @Generated
     @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * This is a human-readable representation of the error.
      */
     @Generated
     @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /*
      * This is the error target.
@@ -104,8 +104,7 @@ public List getDetails() {
     }
 
     /**
-     * Get the innererror property: This is an object containing more specific information than the current object
-     * about the error.
+     * Get the innererror property: This is an object containing more specific information than the current object about the error.
      *
      * @return the innererror value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/HostAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/HostAssetResource.java
index f04bf6093763..b03e022b6c79 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/HostAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/HostAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The HostAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = HostAssetResource.class, visible = true)
 @JsonTypeName("host")
 @Immutable
 public final class HostAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class HostAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private HostAsset asset;
+    private final HostAsset asset;
 
     /**
      * Creates an instance of HostAssetResource class.
@@ -33,6 +33,7 @@ public final class HostAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private HostAssetResource(@JsonProperty(value = "asset") HostAsset asset) {
+        setKind("host");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InnerError.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InnerError.java
index 56cb78b3f89f..90e129038570 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InnerError.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InnerError.java
@@ -45,8 +45,7 @@ public String getCode() {
     }
 
     /**
-     * Get the value property: This is an additional field representing the value that caused the error to help with
-     * debugging.
+     * Get the value property: This is an additional field representing the value that caused the error to help with debugging.
      *
      * @return the value value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InventoryAsset.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InventoryAsset.java
index 6c2733b2b67e..e8546c9e9807 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InventoryAsset.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/InventoryAsset.java
@@ -7,7 +7,7 @@
 import com.azure.core.annotation.Immutable;
 
 /**
- * The InventoryAsset model.
+ * A inventory base model created for swagger documentation purpose.
  */
 @Immutable
 public class InventoryAsset {
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpAddressAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpAddressAssetResource.java
index 029cc6522c38..ed4efcbac725 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpAddressAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpAddressAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The IpAddressAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = IpAddressAssetResource.class, visible = true)
 @JsonTypeName("ipAddress")
 @Immutable
 public final class IpAddressAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class IpAddressAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private IpAddressAsset asset;
+    private final IpAddressAsset asset;
 
     /**
      * Creates an instance of IpAddressAssetResource class.
@@ -33,6 +33,7 @@ public final class IpAddressAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private IpAddressAssetResource(@JsonProperty(value = "asset") IpAddressAsset asset) {
+        setKind("ipAddress");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpBlockAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpBlockAssetResource.java
index 4d8d6492fd71..f8f50cc2334d 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpBlockAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/IpBlockAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The IpBlockAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = IpBlockAssetResource.class, visible = true)
 @JsonTypeName("ipBlock")
 @Immutable
 public final class IpBlockAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class IpBlockAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private IpBlockAsset asset;
+    private final IpBlockAsset asset;
 
     /**
      * Creates an instance of IpBlockAssetResource class.
@@ -33,6 +33,7 @@ public final class IpBlockAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private IpBlockAssetResource(@JsonProperty(value = "asset") IpBlockAsset asset) {
+        setKind("ipBlock");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnection.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnection.java
index b25ea5b035f7..707bec7400aa 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnection.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnection.java
@@ -13,7 +13,11 @@
 /**
  * The LogAnalyticsDataConnection model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LogAnalyticsDataConnection.class,
+    visible = true)
 @JsonTypeName("logAnalytics")
 @Immutable
 public final class LogAnalyticsDataConnection extends DataConnection {
@@ -23,7 +27,7 @@ public final class LogAnalyticsDataConnection extends DataConnection {
      */
     @Generated
     @JsonProperty(value = "properties")
-    private LogAnalyticsDataConnectionProperties properties;
+    private final LogAnalyticsDataConnectionProperties properties;
 
     /**
      * Creates an instance of LogAnalyticsDataConnection class.
@@ -34,6 +38,7 @@ public final class LogAnalyticsDataConnection extends DataConnection {
     @JsonCreator
     private LogAnalyticsDataConnection(
         @JsonProperty(value = "properties") LogAnalyticsDataConnectionProperties properties) {
+        setKind("logAnalytics");
         this.properties = properties;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnectionData.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnectionData.java
index abd036df7b33..93aecaa9475d 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnectionData.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/LogAnalyticsDataConnectionData.java
@@ -13,7 +13,11 @@
 /**
  * The LogAnalyticsDataConnectionData model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LogAnalyticsDataConnectionData.class,
+    visible = true)
 @JsonTypeName("logAnalytics")
 @Fluent
 public final class LogAnalyticsDataConnectionData extends DataConnectionData {
@@ -23,7 +27,7 @@ public final class LogAnalyticsDataConnectionData extends DataConnectionData {
      */
     @Generated
     @JsonProperty(value = "properties")
-    private LogAnalyticsDataConnectionProperties properties;
+    private final LogAnalyticsDataConnectionProperties properties;
 
     /**
      * Creates an instance of LogAnalyticsDataConnectionData class.
@@ -34,6 +38,7 @@ public final class LogAnalyticsDataConnectionData extends DataConnectionData {
     @JsonCreator
     public LogAnalyticsDataConnectionData(
         @JsonProperty(value = "properties") LogAnalyticsDataConnectionProperties properties) {
+        setKind("logAnalytics");
         this.properties = properties;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ObservedPortStateValue.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ObservedPortStateValue.java
index 9f338eca6e81..8edb66d9ef7d 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ObservedPortStateValue.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ObservedPortStateValue.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for ObservedPortStateValue.
+ * state of observed port.
  */
 public final class ObservedPortStateValue extends ExpandableStringEnum {
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetRedirectType.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetRedirectType.java
index 721cb1606eb9..e6b3c99aea49 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetRedirectType.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetRedirectType.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for PageAssetRedirectType.
+ * The redirect type of a page.
  */
 public final class PageAssetRedirectType extends ExpandableStringEnum {
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetResource.java
index d58f7b917de7..76ff691df0d2 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/PageAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The PageAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = PageAssetResource.class, visible = true)
 @JsonTypeName("page")
 @Immutable
 public final class PageAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class PageAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private PageAsset asset;
+    private final PageAsset asset;
 
     /**
      * Creates an instance of PageAssetResource class.
@@ -33,6 +33,7 @@ public final class PageAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private PageAssetResource(@JsonProperty(value = "asset") PageAsset asset) {
+        setKind("page");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSnapshotResult.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSnapshotResult.java
index 065ac3fbcbf4..722b2e34e4f6 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSnapshotResult.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSnapshotResult.java
@@ -9,8 +9,7 @@
 import java.time.OffsetDateTime;
 
 /**
- * A snapshot of assets captured daily for the provided metric. Asset details only contain primary properties.
- * Detailed asset data can be retrieved from the asset endpoints.
+ * A snapshot of assets captured daily for the provided metric.  Asset details only contain primary properties.  Detailed asset data can be retrieved from the asset endpoints.
  */
 @Immutable
 public final class ReportAssetSnapshotResult {
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSummaryRequest.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSummaryRequest.java
index c2eecbd2e8da..8b546aa4a66a 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSummaryRequest.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ReportAssetSummaryRequest.java
@@ -9,8 +9,7 @@
 import java.util.List;
 
 /**
- * A request body used to retrieve summary asset information. One and only one collection of summary identifiers must
- * be provided: filters, metrics, or metricCategories.
+ * A request body used to retrieve summary asset information. One and only one collection of summary identifiers must be provided: filters, metrics, or metricCategories.
  */
 @Fluent
 public final class ReportAssetSummaryRequest {
@@ -37,16 +36,14 @@ public final class ReportAssetSummaryRequest {
     private List filters;
 
     /*
-     * A parameter to group the assets by (first level facet field), only used when the chosen summary identifier is
-     * filters.
+     * A parameter to group the assets by (first level facet field), only used when the chosen summary identifier is filters.
      */
     @Generated
     @JsonProperty(value = "groupBy")
     private String groupBy;
 
     /*
-     * A parameter to segment the assets by (second level facet field), only used when the chosen summary identifier is
-     * filters.
+     * A parameter to segment the assets by (second level facet field), only used when the chosen summary identifier is filters.
      */
     @Generated
     @JsonProperty(value = "segmentBy")
@@ -133,8 +130,7 @@ public ReportAssetSummaryRequest setFilters(List filters) {
     }
 
     /**
-     * Get the groupBy property: A parameter to group the assets by (first level facet field), only used when the
-     * chosen summary identifier is filters.
+     * Get the groupBy property: A parameter to group the assets by (first level facet field), only used when the chosen summary identifier is filters.
      *
      * @return the groupBy value.
      */
@@ -144,8 +140,7 @@ public String getGroupBy() {
     }
 
     /**
-     * Set the groupBy property: A parameter to group the assets by (first level facet field), only used when the
-     * chosen summary identifier is filters.
+     * Set the groupBy property: A parameter to group the assets by (first level facet field), only used when the chosen summary identifier is filters.
      *
      * @param groupBy the groupBy value to set.
      * @return the ReportAssetSummaryRequest object itself.
@@ -157,8 +152,7 @@ public ReportAssetSummaryRequest setGroupBy(String groupBy) {
     }
 
     /**
-     * Get the segmentBy property: A parameter to segment the assets by (second level facet field), only used when the
-     * chosen summary identifier is filters.
+     * Get the segmentBy property: A parameter to segment the assets by (second level facet field), only used when the chosen summary identifier is filters.
      *
      * @return the segmentBy value.
      */
@@ -168,8 +162,7 @@ public String getSegmentBy() {
     }
 
     /**
-     * Set the segmentBy property: A parameter to segment the assets by (second level facet field), only used when the
-     * chosen summary identifier is filters.
+     * Set the segmentBy property: A parameter to segment the assets by (second level facet field), only used when the chosen summary identifier is filters.
      *
      * @param segmentBy the segmentBy value to set.
      * @return the ReportAssetSummaryRequest object itself.
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SavedFilterData.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SavedFilterData.java
index f6b93139db67..37f876cea0c0 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SavedFilterData.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SavedFilterData.java
@@ -19,14 +19,14 @@ public final class SavedFilterData {
      */
     @Generated
     @JsonProperty(value = "filter")
-    private String filter;
+    private final String filter;
 
     /*
      * A human readable description of the saved filter.
      */
     @Generated
     @JsonProperty(value = "description")
-    private String description;
+    private final String description;
 
     /**
      * Creates an instance of SavedFilterData class.
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetResource.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetResource.java
index 6b5fe624b3a5..0735910a8489 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetResource.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetResource.java
@@ -13,7 +13,7 @@
 /**
  * The SslCertAssetResource model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = SslCertAssetResource.class, visible = true)
 @JsonTypeName("sslCert")
 @Immutable
 public final class SslCertAssetResource extends AssetResource {
@@ -23,7 +23,7 @@ public final class SslCertAssetResource extends AssetResource {
      */
     @Generated
     @JsonProperty(value = "asset")
-    private SslCertAsset asset;
+    private final SslCertAsset asset;
 
     /**
      * Creates an instance of SslCertAssetResource class.
@@ -33,6 +33,7 @@ public final class SslCertAssetResource extends AssetResource {
     @Generated
     @JsonCreator
     private SslCertAssetResource(@JsonProperty(value = "asset") SslCertAsset asset) {
+        setKind("sslCert");
         this.asset = asset;
     }
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetValidationType.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetValidationType.java
index 036d92554a38..816675318a91 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetValidationType.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/SslCertAssetValidationType.java
@@ -9,7 +9,7 @@
 import java.util.Collection;
 
 /**
- * Defines values for SslCertAssetValidationType.
+ * The validation type of a Ssl certificate.
  */
 public final class SslCertAssetValidationType extends ExpandableStringEnum {
 
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/Task.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/Task.java
index 997c8ac9d655..ed885ff167f2 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/Task.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/Task.java
@@ -65,7 +65,7 @@ public final class Task {
     private String reason;
 
     /*
-     * Attributes unique to the task. This differs by task type.
+     * Attributes unique to the task.  This differs by task type.
      */
     @Generated
     @JsonProperty(value = "metadata")
@@ -149,7 +149,7 @@ public String getReason() {
     }
 
     /**
-     * Get the metadata property: Attributes unique to the task. This differs by task type.
+     * Get the metadata property: Attributes unique to the task.  This differs by task type.
      *
      * @return the metadata value.
      */
diff --git a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ValidateResult.java b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ValidateResult.java
index aa7c7fa0ed1d..ece170434ea3 100644
--- a/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ValidateResult.java
+++ b/sdk/easm/azure-analytics-defender-easm/src/main/java/com/azure/analytics/defender/easm/models/ValidateResult.java
@@ -8,7 +8,7 @@
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
- * The ValidateResult model.
+ * Validate result for validate action endpoints.
  */
 @Immutable
 public final class ValidateResult {
@@ -28,8 +28,7 @@ private ValidateResult() {
     }
 
     /**
-     * Get the error property: This is the top-level error object whose code matches the x-ms-error-code response
-     * header.
+     * Get the error property: This is the top-level error object whose code matches the x-ms-error-code response header.
      *
      * @return the error value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java
index 03fd46aba5a0..5af2e40d4c2d 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsAsyncClient.java
@@ -13,8 +13,8 @@
 import com.azure.core.exception.ResourceNotFoundException;
 import com.azure.core.http.rest.RequestOptions;
 import com.azure.core.util.BinaryData;
-import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.health.insights.radiologyinsights.implementation.RadiologyInsightsClientImpl;
 import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsData;
 import com.azure.health.insights.radiologyinsights.models.RadiologyInsightsInferenceResult;
@@ -42,34 +42,15 @@ public final class RadiologyInsightsAsyncClient {
      * Create Radiology Insights job
      *
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -267,9 +248,7 @@ public final class RadiologyInsightsAsyncClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java
index dd3362335bed..f2839b8647f3 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClient.java
@@ -42,34 +42,15 @@ public final class RadiologyInsightsClient {
      * Create Radiology Insights job
      *
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -267,9 +248,7 @@ public final class RadiologyInsightsClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java
index e74f9b73f638..7220e3d92138 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/RadiologyInsightsClientBuilder.java
@@ -19,8 +19,8 @@
 import com.azure.core.http.policy.AddDatePolicy;
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -281,7 +281,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -289,12 +290,15 @@ private HttpPipeline createHttpPipeline() {
         if (keyCredential != null) {
             policies.add(new KeyCredentialPolicy("Ocp-Apim-Subscription-Key", keyCredential));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java
index f233aad65862..34232c597746 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/RadiologyInsightsClientImpl.java
@@ -31,9 +31,9 @@
 import com.azure.core.util.Context;
 import com.azure.core.util.DateTimeRfc1123;
 import com.azure.core.util.FluxUtil;
-import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.core.util.polling.PollerFlux;
 import com.azure.core.util.polling.PollingStrategyOptions;
+import com.azure.core.util.polling.PollOperationDetails;
 import com.azure.core.util.polling.SyncPoller;
 import com.azure.core.util.serializer.JacksonAdapter;
 import com.azure.core.util.serializer.SerializerAdapter;
@@ -55,14 +55,12 @@ public final class RadiologyInsightsClientImpl {
     private final RadiologyInsightsClientService service;
 
     /**
-     * Supported Cognitive Services endpoints (protocol and hostname, for example:
-     * https://westus2.api.cognitive.microsoft.com).
+     * Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).
      */
     private final String endpoint;
 
     /**
-     * Gets Supported Cognitive Services endpoints (protocol and hostname, for example:
-     * https://westus2.api.cognitive.microsoft.com).
+     * Gets Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).
      * 
      * @return the endpoint value.
      */
@@ -115,8 +113,7 @@ public SerializerAdapter getSerializerAdapter() {
     /**
      * Initializes an instance of RadiologyInsightsClient client.
      * 
-     * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example:
-     * https://westus2.api.cognitive.microsoft.com).
+     * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).
      * @param serviceVersion Service version.
      */
     public RadiologyInsightsClientImpl(String endpoint, RadiologyInsightsServiceVersion serviceVersion) {
@@ -128,8 +125,7 @@ public RadiologyInsightsClientImpl(String endpoint, RadiologyInsightsServiceVers
      * Initializes an instance of RadiologyInsightsClient client.
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
-     * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example:
-     * https://westus2.api.cognitive.microsoft.com).
+     * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).
      * @param serviceVersion Service version.
      */
     public RadiologyInsightsClientImpl(HttpPipeline httpPipeline, String endpoint,
@@ -142,8 +138,7 @@ public RadiologyInsightsClientImpl(HttpPipeline httpPipeline, String endpoint,
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
      * @param serializerAdapter The serializer to serialize an object into a string.
-     * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example:
-     * https://westus2.api.cognitive.microsoft.com).
+     * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).
      * @param serviceVersion Service version.
      */
     public RadiologyInsightsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint,
@@ -157,8 +152,7 @@ public RadiologyInsightsClientImpl(HttpPipeline httpPipeline, SerializerAdapter
     }
 
     /**
-     * The interface defining all the services for RadiologyInsightsClient to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for RadiologyInsightsClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/health-insights")
     @ServiceInterface(name = "RadiologyInsightsCli")
@@ -190,34 +184,15 @@ Response inferRadiologyInsightsSync(@HostParam("endpoint") String en
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -415,9 +390,7 @@ Response inferRadiologyInsightsSync(@HostParam("endpoint") String en
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -439,8 +412,7 @@ Response inferRadiologyInsightsSync(@HostParam("endpoint") String en
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return status details for long running operations along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return status details for long running operations along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     private Mono> inferRadiologyInsightsWithResponseAsync(BinaryData radiologyInsightsData,
@@ -451,14 +423,14 @@ private Mono> inferRadiologyInsightsWithResponseAsync(Binar
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return FluxUtil.withContext(context -> service.inferRadiologyInsights(this.getEndpoint(),
@@ -469,34 +441,15 @@ private Mono> inferRadiologyInsightsWithResponseAsync(Binar
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -694,9 +647,7 @@ private Mono> inferRadiologyInsightsWithResponseAsync(Binar
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -729,14 +680,14 @@ private Response inferRadiologyInsightsWithResponse(BinaryData radio
         String repeatabilityFirstSent = DateTimeRfc1123.toRfc1123String(OffsetDateTime.now());
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-request-id")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-request-id"),
-                    repeatabilityRequestId);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-request-id"), repeatabilityRequestId);
             }
         });
         requestOptionsLocal.addRequestCallback(requestLocal -> {
             if (requestLocal.getHeaders().get(HttpHeaderName.fromString("repeatability-first-sent")) == null) {
-                requestLocal.getHeaders().set(HttpHeaderName.fromString("repeatability-first-sent"),
-                    repeatabilityFirstSent);
+                requestLocal.getHeaders()
+                    .set(HttpHeaderName.fromString("repeatability-first-sent"), repeatabilityFirstSent);
             }
         });
         return service.inferRadiologyInsightsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept,
@@ -747,34 +698,15 @@ private Response inferRadiologyInsightsWithResponse(BinaryData radio
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -972,9 +904,7 @@ private Response inferRadiologyInsightsWithResponse(BinaryData radio
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1007,7 +937,8 @@ public PollerFlux beginInferRadiologyInsightsAsync(Binar
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
     }
@@ -1016,34 +947,15 @@ public PollerFlux beginInferRadiologyInsightsAsync(Binar
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -1241,9 +1153,7 @@ public PollerFlux beginInferRadiologyInsightsAsync(Binar
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1276,7 +1186,8 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class));
     }
@@ -1285,34 +1196,15 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -1510,9 +1402,7 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1545,7 +1435,8 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(PollOperationDetails.class),
             TypeReference.createInstance(RadiologyInsightsInferenceResult.class));
@@ -1555,34 +1446,15 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      * Create Radiology Insights job
      * 
      * Creates a Radiology Insights job with the given request body.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as HTTP-date
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     patients (Required): [
@@ -1780,9 +1652,7 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1815,7 +1685,8 @@ public SyncPoller beginInferRadiologyInsights(BinaryData
                 new PollingStrategyOptions(this.getHttpPipeline())
                     .setEndpoint("{endpoint}/health-insights".replace("{endpoint}", this.getEndpoint()))
                     .setContext(requestOptions != null && requestOptions.getContext() != null
-                        ? requestOptions.getContext() : Context.NONE)
+                        ? requestOptions.getContext()
+                        : Context.NONE)
                     .setServiceVersion(this.getServiceVersion().getVersion())),
             TypeReference.createInstance(PollOperationDetails.class),
             TypeReference.createInstance(RadiologyInsightsInferenceResult.class));
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java
index ed10e2a8f015..035af3013337 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/implementation/package-info.java
@@ -4,8 +4,7 @@
 /**
  * 
  * Package containing the implementations for RadiologyInsights.
- * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that
- * perform analysis and provide inferences to be used by a human.
+ * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that perform analysis and provide inferences to be used by a human.
  * 
  */
 package com.azure.health.insights.radiologyinsights.implementation;
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java
index 6f26c17f0aec..5658b190ed8a 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/AgeMismatchInference.java
@@ -9,10 +9,9 @@
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
- * A notification for age mismatch is displayed when the age mentioned in a document for a specific patient does not
- * match the age specified in the patient information.
+ * A notification for age mismatch is displayed when the age mentioned in a document for a specific patient does not match the age specified in the patient information.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = AgeMismatchInference.class, visible = true)
 @JsonTypeName("ageMismatch")
 @Immutable
 public final class AgeMismatchInference extends FhirR4Extendible1 {
@@ -22,5 +21,6 @@ public final class AgeMismatchInference extends FhirR4Extendible1 {
      */
     @Generated
     private AgeMismatchInference() {
+        setKind(RadiologyInsightsInferenceType.AGE_MISMATCH);
     }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java
index b6fb89e1fe43..9c326d268e86 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CompleteOrderDiscrepancyInference.java
@@ -12,10 +12,13 @@
 import java.util.List;
 
 /**
- * A complete order discrepancy is shown when one or more body parts and/or measurements that should be in the document
- * (because there is a complete order) are not present.
+ * A complete order discrepancy is shown when one or more body parts and/or measurements that should be in the document (because there is a complete order) are not present.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = CompleteOrderDiscrepancyInference.class,
+    visible = true)
 @JsonTypeName("completeOrderDiscrepancy")
 @Immutable
 public final class CompleteOrderDiscrepancyInference extends FhirR4Extendible1 {
@@ -25,7 +28,7 @@ public final class CompleteOrderDiscrepancyInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "orderType")
-    private FhirR4CodeableConcept orderType;
+    private final FhirR4CodeableConcept orderType;
 
     /*
      * List of missing body parts required by a complete order : SNOMED CT codes.
@@ -49,12 +52,12 @@ public final class CompleteOrderDiscrepancyInference extends FhirR4Extendible1 {
     @Generated
     @JsonCreator
     private CompleteOrderDiscrepancyInference(@JsonProperty(value = "orderType") FhirR4CodeableConcept orderType) {
+        setKind(RadiologyInsightsInferenceType.COMPLETE_ORDER_DISCREPANCY);
         this.orderType = orderType;
     }
 
     /**
-     * Get the orderType property: Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or
-     * breast.
+     * Get the orderType property: Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or breast.
      *
      * @return the orderType value.
      */
@@ -74,8 +77,7 @@ public List getMissingBodyParts() {
     }
 
     /**
-     * Get the missingBodyPartMeasurements property: List of missing body parts that require measurement by a complete
-     * order : SNOMED CT codes.
+     * Get the missingBodyPartMeasurements property: List of missing body parts that require measurement by a complete order : SNOMED CT codes.
      *
      * @return the missingBodyPartMeasurements value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java
index c5f698748b37..28ce393e9836 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ContactPointUse.java
@@ -10,7 +10,7 @@
 
 /**
  * Contact Point Use
- * See: http://hl7.org/fhir/ValueSet/contact-point-use.
+ * See: 	http://hl7.org/fhir/ValueSet/contact-point-use.
  */
 public final class ContactPointUse extends ExpandableStringEnum {
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java
index 9e31a598b3ef..2e9db2e779b9 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResult.java
@@ -19,7 +19,7 @@ public final class CriticalResult {
      */
     @Generated
     @JsonProperty(value = "description")
-    private String description;
+    private final String description;
 
     /*
      * Finding linked to the critical result.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java
index d8145b465d99..0e431f8f7c4e 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/CriticalResultInference.java
@@ -11,10 +11,13 @@
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
- * Critical results refer to findings of utmost importance that may require timely attention due to their potential
- * impact on patient care.
+ * Critical results refer to findings of utmost importance that may require timely attention due to their potential impact on patient care.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = CriticalResultInference.class,
+    visible = true)
 @JsonTypeName("criticalResult")
 @Immutable
 public final class CriticalResultInference extends FhirR4Extendible1 {
@@ -24,7 +27,7 @@ public final class CriticalResultInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "result")
-    private CriticalResult result;
+    private final CriticalResult result;
 
     /**
      * Creates an instance of CriticalResultInference class.
@@ -34,6 +37,7 @@ public final class CriticalResultInference extends FhirR4Extendible1 {
     @Generated
     @JsonCreator
     private CriticalResultInference(@JsonProperty(value = "result") CriticalResult result) {
+        setKind(RadiologyInsightsInferenceType.CRITICAL_RESULT);
         this.result = result;
     }
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java
index 2b03fa19a3d5..813daf743861 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/DocumentContent.java
@@ -21,14 +21,14 @@ public final class DocumentContent {
      */
     @Generated
     @JsonProperty(value = "sourceType")
-    private DocumentContentSourceType sourceType;
+    private final DocumentContentSourceType sourceType;
 
     /*
      * The content of the document, given either inline (as a string) or as a reference (URI).
      */
     @Generated
     @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /**
      * Creates an instance of DocumentContent class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java
index 244298852194..381505efd1cd 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/Encounter.java
@@ -19,12 +19,11 @@ public final class Encounter {
      */
     @Generated
     @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * Time period of the visit.
-     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the
-     * discharge time.
+     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the discharge time.
      */
     @Generated
     @JsonProperty(value = "period")
@@ -60,8 +59,7 @@ public String getId() {
 
     /**
      * Get the period property: Time period of the visit.
-     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the
-     * discharge time.
+     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the discharge time.
      *
      * @return the period value.
      */
@@ -72,8 +70,7 @@ public TimePeriod getPeriod() {
 
     /**
      * Set the period property: Time period of the visit.
-     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the
-     * discharge time.
+     * In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the discharge time.
      *
      * @param period the period value to set.
      * @return the Encounter object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java
index 8065adeae697..2fda381b3a8d 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/EncounterClass.java
@@ -14,39 +14,31 @@
 public final class EncounterClass extends ExpandableStringEnum {
 
     /**
-     * A patient encounter where a patient is admitted by a hospital or equivalent facility, assigned to a location
-     * where patients generally stay at least overnight and provided with room, board, and continuous nursing service.
+     * A patient encounter where a patient is admitted by a hospital or equivalent facility, assigned to a location where patients generally stay at least overnight and provided with room, board, and continuous nursing service.
      */
     @Generated
     public static final EncounterClass IN_PATIENT = fromString("inpatient");
 
     /**
-     * The term ambulatory usually implies that the patient has come to the location and is not assigned to a bed.
-     * Sometimes referred to as an outpatient encounter.
+     * The term ambulatory usually implies that the patient has come to the location and is not assigned to a bed. Sometimes referred to as an outpatient encounter.
      */
     @Generated
     public static final EncounterClass AMBULATORY = fromString("ambulatory");
 
     /**
-     * An encounter where the patient usually will start in different encounter, such as one in the emergency department
-     * but then transition to this type of encounter because they require a significant period of treatment and
-     * monitoring to determine whether or not their condition warrants an inpatient admission or discharge.
+     * An encounter where the patient usually will start in different encounter, such as one in the emergency department but then transition to this type of encounter because they require a significant period of treatment and monitoring to determine whether or not their condition warrants an inpatient admission or discharge.
      */
     @Generated
     public static final EncounterClass OBSERVATION = fromString("observation");
 
     /**
-     * A patient encounter that takes place at a dedicated healthcare service delivery location where the patient
-     * receives immediate evaluation and treatment, provided until the patient can be discharged or responsibility for
-     * the patient's care is transferred elsewhere (for example, the patient could be admitted as an inpatient or
-     * transferred to another facility.
+     * A patient encounter that takes place at a dedicated healthcare service delivery location where the patient receives immediate evaluation and treatment, provided until the patient can be discharged or responsibility for the patient's care is transferred elsewhere (for example, the patient could be admitted as an inpatient or transferred to another facility.
      */
     @Generated
     public static final EncounterClass EMERGENCY = fromString("emergency");
 
     /**
-     * A patient encounter where the patient is not physically present for the encounter, such as in a telehealth
-     * encounter, phone call, or electronic communication.
+     * A patient encounter where the patient is not physically present for the encounter, such as in a telehealth encounter, phone call, or electronic communication.
      */
     @Generated
     public static final EncounterClass VIRTUAL = fromString("virtual");
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java
index 8ca56df0b95e..fcb73f90ef5f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Annotation.java
@@ -10,7 +10,7 @@
 import java.util.List;
 
 /**
- * A text note which also contains information about who made the statement and when
+ * A text note which also  contains information about who made the statement and when
  * Based on [FHIR Annotation](https://www.hl7.org/fhir/R4/datatypes.html#Annotation).
  */
 @Fluent
@@ -35,7 +35,7 @@ public final class FhirR4Annotation extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of FhirR4Annotation class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java
index 69c77ac486e0..9cef9e62f5e7 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Condition.java
@@ -15,7 +15,11 @@
  * Detailed information about conditions, problems or diagnoses
  * Based on [FHIR Condition](https://www.hl7.org/fhir/R4/condition.html).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "resourceType",
+    defaultImpl = FhirR4Condition.class,
+    visible = true)
 @JsonTypeName("Condition")
 @Fluent
 public final class FhirR4Condition extends FhirR4DomainResource {
@@ -77,35 +81,35 @@ public final class FhirR4Condition extends FhirR4DomainResource {
     private FhirR4Reference encounter;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetDateTime")
     private String onsetDateTime;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetAge")
     private FhirR4Quantity onsetAge;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetPeriod")
     private FhirR4Period onsetPeriod;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetRange")
     private FhirR4Range onsetRange;
 
     /*
-     * Estimated or actual date, date-time, or age
+     * Estimated or actual date,  date-time, or age
      */
     @Generated
     @JsonProperty(value = "onsetString")
@@ -176,6 +180,7 @@ public final class FhirR4Condition extends FhirR4DomainResource {
     @JsonCreator
     public FhirR4Condition(@JsonProperty(value = "resourceType") String resourceType) {
         super(resourceType);
+        setResourceType("Condition");
     }
 
     /**
@@ -223,8 +228,7 @@ public FhirR4Condition setClinicalStatus(FhirR4CodeableConcept clinicalStatus) {
     }
 
     /**
-     * Get the verificationStatus property: unconfirmed | provisional | differential | confirmed | refuted |
-     * entered-in-error.
+     * Get the verificationStatus property: unconfirmed | provisional | differential | confirmed | refuted | entered-in-error.
      *
      * @return the verificationStatus value.
      */
@@ -234,8 +238,7 @@ public FhirR4CodeableConcept getVerificationStatus() {
     }
 
     /**
-     * Set the verificationStatus property: unconfirmed | provisional | differential | confirmed | refuted |
-     * entered-in-error.
+     * Set the verificationStatus property: unconfirmed | provisional | differential | confirmed | refuted | entered-in-error.
      *
      * @param verificationStatus the verificationStatus value to set.
      * @return the FhirR4Condition object itself.
@@ -357,7 +360,7 @@ public FhirR4Condition setEncounter(FhirR4Reference encounter) {
     }
 
     /**
-     * Get the onsetDateTime property: Estimated or actual date, date-time, or age.
+     * Get the onsetDateTime property: Estimated or actual date,  date-time, or age.
      *
      * @return the onsetDateTime value.
      */
@@ -367,7 +370,7 @@ public String getOnsetDateTime() {
     }
 
     /**
-     * Set the onsetDateTime property: Estimated or actual date, date-time, or age.
+     * Set the onsetDateTime property: Estimated or actual date,  date-time, or age.
      *
      * @param onsetDateTime the onsetDateTime value to set.
      * @return the FhirR4Condition object itself.
@@ -379,7 +382,7 @@ public FhirR4Condition setOnsetDateTime(String onsetDateTime) {
     }
 
     /**
-     * Get the onsetAge property: Estimated or actual date, date-time, or age.
+     * Get the onsetAge property: Estimated or actual date,  date-time, or age.
      *
      * @return the onsetAge value.
      */
@@ -389,7 +392,7 @@ public FhirR4Quantity getOnsetAge() {
     }
 
     /**
-     * Set the onsetAge property: Estimated or actual date, date-time, or age.
+     * Set the onsetAge property: Estimated or actual date,  date-time, or age.
      *
      * @param onsetAge the onsetAge value to set.
      * @return the FhirR4Condition object itself.
@@ -401,7 +404,7 @@ public FhirR4Condition setOnsetAge(FhirR4Quantity onsetAge) {
     }
 
     /**
-     * Get the onsetPeriod property: Estimated or actual date, date-time, or age.
+     * Get the onsetPeriod property: Estimated or actual date,  date-time, or age.
      *
      * @return the onsetPeriod value.
      */
@@ -411,7 +414,7 @@ public FhirR4Period getOnsetPeriod() {
     }
 
     /**
-     * Set the onsetPeriod property: Estimated or actual date, date-time, or age.
+     * Set the onsetPeriod property: Estimated or actual date,  date-time, or age.
      *
      * @param onsetPeriod the onsetPeriod value to set.
      * @return the FhirR4Condition object itself.
@@ -423,7 +426,7 @@ public FhirR4Condition setOnsetPeriod(FhirR4Period onsetPeriod) {
     }
 
     /**
-     * Get the onsetRange property: Estimated or actual date, date-time, or age.
+     * Get the onsetRange property: Estimated or actual date,  date-time, or age.
      *
      * @return the onsetRange value.
      */
@@ -433,7 +436,7 @@ public FhirR4Range getOnsetRange() {
     }
 
     /**
-     * Set the onsetRange property: Estimated or actual date, date-time, or age.
+     * Set the onsetRange property: Estimated or actual date,  date-time, or age.
      *
      * @param onsetRange the onsetRange value to set.
      * @return the FhirR4Condition object itself.
@@ -445,7 +448,7 @@ public FhirR4Condition setOnsetRange(FhirR4Range onsetRange) {
     }
 
     /**
-     * Get the onsetString property: Estimated or actual date, date-time, or age.
+     * Get the onsetString property: Estimated or actual date,  date-time, or age.
      *
      * @return the onsetString value.
      */
@@ -455,7 +458,7 @@ public String getOnsetString() {
     }
 
     /**
-     * Set the onsetString property: Estimated or actual date, date-time, or age.
+     * Set the onsetString property: Estimated or actual date,  date-time, or age.
      *
      * @param onsetString the onsetString value to set.
      * @return the FhirR4Condition object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java
index 3a201be4a97a..284cc2af6be6 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ContactPoint.java
@@ -8,8 +8,7 @@
 import com.fasterxml.jackson.annotation.JsonProperty;
 
 /**
- * Details for all kinds of technology mediated contact points for a person or organization, including telephone,
- * email, etc.
+ * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
  * See https://www.hl7.org/fhir/R4/datatypes.html#ContactPoint.
  */
 @Fluent
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java
index 59b387537ddd..b4a85df129d1 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4DomainResource.java
@@ -18,9 +18,9 @@
  */
 @JsonTypeInfo(
     use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
     property = "resourceType",
-    defaultImpl = FhirR4DomainResource.class)
+    defaultImpl = FhirR4DomainResource.class,
+    visible = true)
 @JsonTypeName("Fhir_R4_DomainResource")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "Observation", value = FhirR4Observation.class),
@@ -66,6 +66,7 @@ public class FhirR4DomainResource extends FhirR4Resource {
     @JsonCreator
     public FhirR4DomainResource(@JsonProperty(value = "resourceType") String resourceType) {
         super(resourceType);
+        setResourceType("Fhir_R4_DomainResource");
     }
 
     /**
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java
index 0fe98799cc40..78e237b7c94b 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible1.java
@@ -7,28 +7,25 @@
 import com.azure.core.annotation.Immutable;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeId;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeName;
 import java.util.List;
 
 /**
  * An inference made by the Radiology Insights model regarding a patient.
- * - AgeMismatch
- * - SexMismatch
- * - LateralityDiscrepancy
- * - CompleteOrderDiscrepancy
- * - LimitedOrderDiscrepancy
- * - Finding
- * - CriticalResult
- * - FollowupRecommendation
- * - RadiologyProcedure
- * - FollowupCommunication.
+ *   - AgeMismatch
+ *   - SexMismatch
+ *   - LateralityDiscrepancy
+ *   - CompleteOrderDiscrepancy
+ *   - LimitedOrderDiscrepancy
+ *   - Finding
+ *   - CriticalResult
+ *   - FollowupRecommendation
+ *   - RadiologyProcedure
+ *   - FollowupCommunication.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "kind",
-    defaultImpl = FhirR4Extendible1.class)
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = FhirR4Extendible1.class, visible = true)
 @JsonTypeName("Fhir_R4_Extendible1")
 @JsonSubTypes({
     @JsonSubTypes.Type(name = "ageMismatch", value = AgeMismatchInference.class),
@@ -56,6 +53,7 @@ public class FhirR4Extendible1 {
      */
     @Generated
     protected FhirR4Extendible1() {
+        this.kind = RadiologyInsightsInferenceType.fromString("Fhir_R4_Extendible1");
     }
 
     /**
@@ -67,4 +65,34 @@ protected FhirR4Extendible1() {
     public List getExtension() {
         return this.extension;
     }
+
+    /*
+     * Inference type.
+     */
+    @Generated
+    @JsonTypeId
+    @JsonProperty(value = "kind")
+    private RadiologyInsightsInferenceType kind;
+
+    /**
+     * Get the kind property: Inference type.
+     *
+     * @return the kind value.
+     */
+    @Generated
+    public RadiologyInsightsInferenceType getKind() {
+        return this.kind;
+    }
+
+    /**
+     * Set the kind property: Inference type.
+     *
+     * @param kind the kind value to set.
+     * @return the FhirR4Extendible1 object itself.
+     */
+    @Generated
+    protected FhirR4Extendible1 setKind(RadiologyInsightsInferenceType kind) {
+        this.kind = kind;
+        return this;
+    }
 }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java
index fcade011a4a5..ba27c7f615c8 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extendible2.java
@@ -41,7 +41,7 @@ public final class FhirR4Extendible2 {
      */
     @Generated
     @JsonProperty(value = "recommendationFindingStatus")
-    private RecommendationFindingStatusType recommendationFindingStatus;
+    private final RecommendationFindingStatusType recommendationFindingStatus;
 
     /**
      * Creates an instance of FhirR4Extendible2 class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java
index 16824d489ddc..762e5c12cf55 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Extension.java
@@ -21,7 +21,7 @@ public final class FhirR4Extension extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "url")
-    private String url;
+    private final String url;
 
     /*
      * Value as Quantity
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java
index 05e0dd6c1344..d570ae6e6f4b 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Meta.java
@@ -16,8 +16,7 @@
 public final class FhirR4Meta {
 
     /*
-     * The version specific identifier, as it appears in the version portion of the URL. This value changes when the
-     * resource is created, updated, or deleted.
+     * The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.
      */
     @Generated
     @JsonProperty(value = "versionId")
@@ -31,34 +30,28 @@ public final class FhirR4Meta {
     private String lastUpdated;
 
     /*
-     * A uri that identifies the source system of the resource. This provides a minimal amount of Provenance
-     * information that can be used to track or differentiate the source of information in the resource. The source may
-     * identify another FHIR server, document, message, database, etc.
+     * A uri that identifies the source system of the resource. This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
      */
     @Generated
     @JsonProperty(value = "source")
     private String source;
 
     /*
-     * A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html)
-     * resources) that this resource claims to conform to. The URL is a reference to
-     * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
+     * A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
      */
     @Generated
     @JsonProperty(value = "profile")
     private List profile;
 
     /*
-     * Security labels applied to this resource. These tags connect specific resources to the overall security policy
-     * and infrastructure.
+     * Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
      */
     @Generated
     @JsonProperty(value = "security")
     private List security;
 
     /*
-     * Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and
-     * workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
+     * Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
      */
     @Generated
     @JsonProperty(value = "tag")
@@ -72,8 +65,7 @@ public FhirR4Meta() {
     }
 
     /**
-     * Get the versionId property: The version specific identifier, as it appears in the version portion of the URL.
-     * This value changes when the resource is created, updated, or deleted.
+     * Get the versionId property: The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.
      *
      * @return the versionId value.
      */
@@ -83,8 +75,7 @@ public String getVersionId() {
     }
 
     /**
-     * Set the versionId property: The version specific identifier, as it appears in the version portion of the URL.
-     * This value changes when the resource is created, updated, or deleted.
+     * Set the versionId property: The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.
      *
      * @param versionId the versionId value to set.
      * @return the FhirR4Meta object itself.
@@ -118,9 +109,7 @@ public FhirR4Meta setLastUpdated(String lastUpdated) {
     }
 
     /**
-     * Get the source property: A uri that identifies the source system of the resource. This provides a minimal amount
-     * of Provenance information that can be used to track or differentiate the source of information in the resource.
-     * The source may identify another FHIR server, document, message, database, etc.
+     * Get the source property: A uri that identifies the source system of the resource. This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
      *
      * @return the source value.
      */
@@ -130,9 +119,7 @@ public String getSource() {
     }
 
     /**
-     * Set the source property: A uri that identifies the source system of the resource. This provides a minimal amount
-     * of Provenance information that can be used to track or differentiate the source of information in the resource.
-     * The source may identify another FHIR server, document, message, database, etc.
+     * Set the source property: A uri that identifies the source system of the resource. This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.
      *
      * @param source the source value to set.
      * @return the FhirR4Meta object itself.
@@ -144,10 +131,7 @@ public FhirR4Meta setSource(String source) {
     }
 
     /**
-     * Get the profile property: A list of profiles (references to
-     * [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to
-     * conform to. The URL is a reference to
-     * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
+     * Get the profile property: A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
      *
      * @return the profile value.
      */
@@ -157,10 +141,7 @@ public List getProfile() {
     }
 
     /**
-     * Set the profile property: A list of profiles (references to
-     * [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to
-     * conform to. The URL is a reference to
-     * [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
+     * Set the profile property: A list of profiles (references to [StructureDefinition](https://www.hl7.org/fhir/structuredefinition.html) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](https://www.hl7.org/fhir/structuredefinition-definitions.html#StructureDefinition.url).
      *
      * @param profile the profile value to set.
      * @return the FhirR4Meta object itself.
@@ -172,8 +153,7 @@ public FhirR4Meta setProfile(List profile) {
     }
 
     /**
-     * Get the security property: Security labels applied to this resource. These tags connect specific resources to
-     * the overall security policy and infrastructure.
+     * Get the security property: Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
      *
      * @return the security value.
      */
@@ -183,8 +163,7 @@ public List getSecurity() {
     }
 
     /**
-     * Set the security property: Security labels applied to this resource. These tags connect specific resources to
-     * the overall security policy and infrastructure.
+     * Set the security property: Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.
      *
      * @param security the security value to set.
      * @return the FhirR4Meta object itself.
@@ -196,9 +175,7 @@ public FhirR4Meta setSecurity(List security) {
     }
 
     /**
-     * Get the tag property: Tags applied to this resource. Tags are intended to be used to identify and relate
-     * resources to process and workflow, and applications are not required to consider the tags when interpreting the
-     * meaning of a resource.
+     * Get the tag property: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
      *
      * @return the tag value.
      */
@@ -208,9 +185,7 @@ public List getTag() {
     }
 
     /**
-     * Set the tag property: Tags applied to this resource. Tags are intended to be used to identify and relate
-     * resources to process and workflow, and applications are not required to consider the tags when interpreting the
-     * meaning of a resource.
+     * Set the tag property: Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.
      *
      * @param tag the tag value to set.
      * @return the FhirR4Meta object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java
index 420ac73d514a..19c41fa684ed 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Narrative.java
@@ -10,9 +10,7 @@
 import java.util.List;
 
 /**
- * Any resource that is a [DomainResource](https://www.hl7.org/fhir/domainresource.html) may include a human-readable
- * narrative that contains a summary of the resource and may be used to represent the content of the resource to a
- * human.
+ * Any resource that is a [DomainResource](https://www.hl7.org/fhir/domainresource.html) may include a human-readable narrative that contains a summary of the resource and may be used to represent the content of the resource to a human.
  * Based on [FHIR Narrative](https://www.hl7.org/fhir/R4/narrative.html#Narrative).
  */
 @Fluent
@@ -23,14 +21,14 @@ public final class FhirR4Narrative extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "status")
-    private String status;
+    private final String status;
 
     /*
      * xhtml
      */
     @Generated
     @JsonProperty(value = "div")
-    private String div;
+    private final String div;
 
     /**
      * Creates an instance of FhirR4Narrative class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java
index a90efbaa81b3..4b4d92806f24 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Observation.java
@@ -15,7 +15,11 @@
  * Detailed information about observations
  * Based on [FHIR Observation](https://www.hl7.org/fhir/R4/observation.html).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "resourceType",
+    defaultImpl = FhirR4Observation.class,
+    visible = true)
 @JsonTypeName("Observation")
 @Fluent
 public final class FhirR4Observation extends FhirR4DomainResource {
@@ -32,10 +36,10 @@ public final class FhirR4Observation extends FhirR4DomainResource {
      */
     @Generated
     @JsonProperty(value = "status")
-    private ObservationStatusCodeType status;
+    private final ObservationStatusCodeType status;
 
     /*
-     * Classification of type of observation
+     * Classification of  type of observation
      */
     @Generated
     @JsonProperty(value = "category")
@@ -46,7 +50,7 @@ public final class FhirR4Observation extends FhirR4DomainResource {
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
      * Who and/or what the observation is about
@@ -243,6 +247,7 @@ public FhirR4Observation(@JsonProperty(value = "resourceType") String resourceTy
         @JsonProperty(value = "status") ObservationStatusCodeType status,
         @JsonProperty(value = "code") FhirR4CodeableConcept code) {
         super(resourceType);
+        setResourceType("Observation");
         this.status = status;
         this.code = code;
     }
@@ -280,7 +285,7 @@ public ObservationStatusCodeType getStatus() {
     }
 
     /**
-     * Get the category property: Classification of type of observation.
+     * Get the category property: Classification of  type of observation.
      *
      * @return the category value.
      */
@@ -290,7 +295,7 @@ public List getCategory() {
     }
 
     /**
-     * Set the category property: Classification of type of observation.
+     * Set the category property: Classification of  type of observation.
      *
      * @param category the category value to set.
      * @return the FhirR4Observation object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java
index 51ca92c8b0cd..2b8a1c7e751f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ObservationComponent.java
@@ -21,7 +21,7 @@ public final class FhirR4ObservationComponent extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
      * Value as Quantity
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java
index b904ab737e32..56f329efe093 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4ResearchStudy.java
@@ -15,7 +15,11 @@
  * Detailed information about Research Study
  * Based on [FHIR ResearchStudy](https://www.hl7.org/fhir/R4/researchstudy.html).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "resourceType")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "resourceType",
+    defaultImpl = FhirR4ResearchStudy.class,
+    visible = true)
 @JsonTypeName("ResearchStudy")
 @Fluent
 public final class FhirR4ResearchStudy extends FhirR4DomainResource {
@@ -49,17 +53,14 @@ public final class FhirR4ResearchStudy extends FhirR4DomainResource {
     private List partOf;
 
     /*
-     * active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention |
-     * completed | disapproved | in-review | temporarily-closed-to-accrual |
-     * temporarily-closed-to-accrual-and-intervention | withdrawn
+     * active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual | temporarily-closed-to-accrual-and-intervention | withdrawn
      */
     @Generated
     @JsonProperty(value = "status")
-    private ResearchStudyStatusCodeType status;
+    private final ResearchStudyStatusCodeType status;
 
     /*
-     * treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science |
-     * device-feasibility
+     * treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science | device-feasibility
      */
     @Generated
     @JsonProperty(value = "primaryPurposeType")
@@ -157,8 +158,7 @@ public final class FhirR4ResearchStudy extends FhirR4DomainResource {
     private List site;
 
     /*
-     * accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress |
-     * temporarily-closed-per-study-design
+     * accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress | temporarily-closed-per-study-design
      */
     @Generated
     @JsonProperty(value = "reasonStopped")
@@ -196,6 +196,7 @@ public final class FhirR4ResearchStudy extends FhirR4DomainResource {
     public FhirR4ResearchStudy(@JsonProperty(value = "resourceType") String resourceType,
         @JsonProperty(value = "status") ResearchStudyStatusCodeType status) {
         super(resourceType);
+        setResourceType("ResearchStudy");
         this.status = status;
     }
 
@@ -288,9 +289,7 @@ public FhirR4ResearchStudy setPartOf(List partOf) {
     }
 
     /**
-     * Get the status property: active | administratively-completed | approved | closed-to-accrual |
-     * closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual |
-     * temporarily-closed-to-accrual-and-intervention | withdrawn.
+     * Get the status property: active | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | completed | disapproved | in-review | temporarily-closed-to-accrual | temporarily-closed-to-accrual-and-intervention | withdrawn.
      *
      * @return the status value.
      */
@@ -300,8 +299,7 @@ public ResearchStudyStatusCodeType getStatus() {
     }
 
     /**
-     * Get the primaryPurposeType property: treatment | prevention | diagnostic | supportive-care | screening |
-     * health-services-research | basic-science | device-feasibility.
+     * Get the primaryPurposeType property: treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science | device-feasibility.
      *
      * @return the primaryPurposeType value.
      */
@@ -311,8 +309,7 @@ public FhirR4CodeableConcept getPrimaryPurposeType() {
     }
 
     /**
-     * Set the primaryPurposeType property: treatment | prevention | diagnostic | supportive-care | screening |
-     * health-services-research | basic-science | device-feasibility.
+     * Set the primaryPurposeType property: treatment | prevention | diagnostic | supportive-care | screening | health-services-research | basic-science | device-feasibility.
      *
      * @param primaryPurposeType the primaryPurposeType value to set.
      * @return the FhirR4ResearchStudy object itself.
@@ -324,8 +321,7 @@ public FhirR4ResearchStudy setPrimaryPurposeType(FhirR4CodeableConcept primaryPu
     }
 
     /**
-     * Get the phase property: n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 |
-     * phase-4.
+     * Get the phase property: n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 | phase-4.
      *
      * @return the phase value.
      */
@@ -335,8 +331,7 @@ public FhirR4CodeableConcept getPhase() {
     }
 
     /**
-     * Set the phase property: n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 |
-     * phase-4.
+     * Set the phase property: n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 | phase-4.
      *
      * @param phase the phase value to set.
      * @return the FhirR4ResearchStudy object itself.
@@ -612,8 +607,7 @@ public FhirR4ResearchStudy setSite(List site) {
     }
 
     /**
-     * Get the reasonStopped property: accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress
-     * | temporarily-closed-per-study-design.
+     * Get the reasonStopped property: accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress | temporarily-closed-per-study-design.
      *
      * @return the reasonStopped value.
      */
@@ -623,8 +617,7 @@ public FhirR4CodeableConcept getReasonStopped() {
     }
 
     /**
-     * Set the reasonStopped property: accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress
-     * | temporarily-closed-per-study-design.
+     * Set the reasonStopped property: accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress | temporarily-closed-per-study-design.
      *
      * @param reasonStopped the reasonStopped value to set.
      * @return the FhirR4ResearchStudy object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java
index 96d379d29eb0..662eaf143a85 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4Resource.java
@@ -14,8 +14,7 @@
 import java.util.Map;
 
 /**
- * Resource is the ancestor of DomainResource from which most resources are derived. Bundle, Parameters, and Binary
- * extend Resource directly.
+ * Resource is the ancestor of DomainResource from which most resources are derived. Bundle, Parameters, and Binary extend Resource directly.
  * Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html.
  */
 @Fluent
@@ -26,7 +25,7 @@ public class FhirR4Resource {
      */
     @Generated
     @JsonProperty(value = "resourceType")
-    private String resourceType;
+    private final String resourceType;
 
     /*
      * Resource Id
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java
index bcb3b4a6382f..e471e06ead47 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FhirR4SampledData.java
@@ -21,14 +21,14 @@ public final class FhirR4SampledData extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "origin")
-    private FhirR4Quantity origin;
+    private final FhirR4Quantity origin;
 
     /*
      * Number of milliseconds between samples
      */
     @Generated
     @JsonProperty(value = "period")
-    private double period;
+    private final double period;
 
     /*
      * Multiply data by this before adding to origin
@@ -56,7 +56,7 @@ public final class FhirR4SampledData extends FhirR4Element {
      */
     @Generated
     @JsonProperty(value = "dimensions")
-    private int dimensions;
+    private final int dimensions;
 
     /*
      * Decimal values with spaces, or "E" | "U" | "L"
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java
index 36f422ecdac5..f3ca059139d6 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingInference.java
@@ -11,10 +11,9 @@
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
- * Findings in a radiology report typically describe abnormalities, lesions, or other notable observations related to
- * the anatomy or pathology of the imaged area.
+ * Findings in a radiology report typically describe abnormalities, lesions, or other notable observations related to the anatomy or pathology of the imaged area.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", defaultImpl = FindingInference.class, visible = true)
 @JsonTypeName("finding")
 @Immutable
 public final class FindingInference extends FhirR4Extendible1 {
@@ -24,7 +23,7 @@ public final class FindingInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "finding")
-    private FhirR4Observation finding;
+    private final FhirR4Observation finding;
 
     /**
      * Creates an instance of FindingInference class.
@@ -34,6 +33,7 @@ public final class FindingInference extends FhirR4Extendible1 {
     @Generated
     @JsonCreator
     private FindingInference(@JsonProperty(value = "finding") FhirR4Observation finding) {
+        setKind(RadiologyInsightsInferenceType.FINDING);
         this.finding = finding;
     }
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java
index 110ecf6c316f..db36a8f354ed 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FindingOptions.java
@@ -14,9 +14,7 @@
 public final class FindingOptions {
 
     /*
-     * If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e.
-     * the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to
-     * the token evidence. Default is false.
+     * If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to the token evidence. Default is false.
      */
     @Generated
     @JsonProperty(value = "provideFocusedSentenceEvidence")
@@ -30,9 +28,7 @@ public FindingOptions() {
     }
 
     /**
-     * Get the provideFocusedSentenceEvidence property: If this is true, provide the sentence that contains the first
-     * token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided
-     * as an extension with url 'ci_sentence', next to the token evidence. Default is false.
+     * Get the provideFocusedSentenceEvidence property: If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to the token evidence. Default is false.
      *
      * @return the provideFocusedSentenceEvidence value.
      */
@@ -42,9 +38,7 @@ public Boolean isProvideFocusedSentenceEvidence() {
     }
 
     /**
-     * Set the provideFocusedSentenceEvidence property: If this is true, provide the sentence that contains the first
-     * token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided
-     * as an extension with url 'ci_sentence', next to the token evidence. Default is false.
+     * Set the provideFocusedSentenceEvidence property: If this is true, provide the sentence that contains the first token of the finding's clinical indicator (i.e. the medical problem), if there is one. This sentence is provided as an extension with url 'ci_sentence', next to the token evidence. Default is false.
      *
      * @param provideFocusedSentenceEvidence the provideFocusedSentenceEvidence value to set.
      * @return the FindingOptions object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java
index b3a59b4ad8e4..4cfde0244b6f 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupCommunicationInference.java
@@ -13,10 +13,13 @@
 import java.util.List;
 
 /**
- * Follow-up communication involves the exchange of important information, recommendations, or updates between
- * radiologists and other healthcare professionals involved in a patient's care.
+ * Follow-up communication involves the exchange of important information, recommendations, or updates between radiologists and other healthcare professionals involved in a patient's care.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = FollowupCommunicationInference.class,
+    visible = true)
 @JsonTypeName("followupCommunication")
 @Immutable
 public final class FollowupCommunicationInference extends FhirR4Extendible1 {
@@ -40,7 +43,7 @@ public final class FollowupCommunicationInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "wasAcknowledged")
-    private boolean wasAcknowledged;
+    private final boolean wasAcknowledged;
 
     /**
      * Creates an instance of FollowupCommunicationInference class.
@@ -50,6 +53,7 @@ public final class FollowupCommunicationInference extends FhirR4Extendible1 {
     @Generated
     @JsonCreator
     private FollowupCommunicationInference(@JsonProperty(value = "wasAcknowledged") boolean wasAcknowledged) {
+        setKind(RadiologyInsightsInferenceType.FOLLOWUP_COMMUNICATION);
         this.wasAcknowledged = wasAcknowledged;
     }
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java
index e74e2e46fabd..013b66770275 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationInference.java
@@ -12,10 +12,13 @@
 import java.util.List;
 
 /**
- * Follow-up recommendations offer guidance to healthcare providers on managing and monitoring patients based on the
- * findings of imaging studies.
+ * Follow-up recommendations offer guidance to healthcare providers on managing and monitoring patients based on the findings of imaging studies.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = FollowupRecommendationInference.class,
+    visible = true)
 @JsonTypeName("followupRecommendation")
 @Immutable
 public final class FollowupRecommendationInference extends FhirR4Extendible1 {
@@ -42,43 +45,39 @@ public final class FollowupRecommendationInference extends FhirR4Extendible1 {
     private List findings;
 
     /*
-     * The conditional value indicates whether or not the sentence containing the recommendation includes a conditional
-     * statement. Keywords for conditional statements include 'if', 'when', 'unless', and so on.
+     * The conditional value indicates whether or not the sentence containing the recommendation includes a conditional statement. Keywords for conditional statements include 'if', 'when', 'unless', and so on.
      */
     @Generated
     @JsonProperty(value = "isConditional")
-    private boolean isConditional;
+    private final boolean isConditional;
 
     /*
-     * The option value indicates whether or not the sentence containing the recommendation includes an optional
-     * statement. Keywords for optional statements include 'recommend', 'consider', and so on.
+     * The option value indicates whether or not the sentence containing the recommendation includes an optional statement. Keywords for optional statements include 'recommend', 'consider', and so on.
      */
     @Generated
     @JsonProperty(value = "isOption")
-    private boolean isOption;
+    private final boolean isOption;
 
     /*
-     * The guideline value indicates whether or not the recommendation is part of a guideline section that compiles all
-     * recommendations applicable to various findings.
+     * The guideline value indicates whether or not the recommendation is part of a guideline section that compiles all recommendations applicable to various findings.
      */
     @Generated
     @JsonProperty(value = "isGuideline")
-    private boolean isGuideline;
+    private final boolean isGuideline;
 
     /*
-     * Hedging refers to ambiguous, vague or imprecise language within the sentence of the recommendation. Keywords for
-     * hedging are 'can be','may be',and so on.
+     * Hedging refers to ambiguous, vague or imprecise language within the sentence of the recommendation. Keywords for hedging are 'can be','may be',and so on.
      */
     @Generated
     @JsonProperty(value = "isHedging")
-    private boolean isHedging;
+    private final boolean isHedging;
 
     /*
      * The procedure recommendation can be a generic procedure or an imaging procedure.
      */
     @Generated
     @JsonProperty(value = "recommendedProcedure")
-    private ProcedureRecommendation recommendedProcedure;
+    private final ProcedureRecommendation recommendedProcedure;
 
     /**
      * Creates an instance of FollowupRecommendationInference class.
@@ -95,6 +94,7 @@ private FollowupRecommendationInference(@JsonProperty(value = "isConditional") b
         @JsonProperty(value = "isOption") boolean isOption, @JsonProperty(value = "isGuideline") boolean isGuideline,
         @JsonProperty(value = "isHedging") boolean isHedging,
         @JsonProperty(value = "recommendedProcedure") ProcedureRecommendation recommendedProcedure) {
+        setKind(RadiologyInsightsInferenceType.FOLLOWUP_RECOMMENDATION);
         this.isConditional = isConditional;
         this.isOption = isOption;
         this.isGuideline = isGuideline;
@@ -103,8 +103,7 @@ private FollowupRecommendationInference(@JsonProperty(value = "isConditional") b
     }
 
     /**
-     * Get the effectiveDateTime property: Date and time are displayed when the procedure is recommended to be done at
-     * a specific point in time.
+     * Get the effectiveDateTime property: Date and time are displayed when the procedure is recommended to be done at a specific point in time.
      *
      * @return the effectiveDateTime value.
      */
@@ -114,8 +113,7 @@ public String getEffectiveDateTime() {
     }
 
     /**
-     * Get the effectivePeriod property: The period is shown if a specific period is mentioned, with a start and end
-     * date-time.
+     * Get the effectivePeriod property: The period is shown if a specific period is mentioned, with a start and end date-time.
      *
      * @return the effectivePeriod value.
      */
@@ -135,9 +133,7 @@ public List getFindings() {
     }
 
     /**
-     * Get the isConditional property: The conditional value indicates whether or not the sentence containing the
-     * recommendation includes a conditional statement. Keywords for conditional statements include 'if', 'when',
-     * 'unless', and so on.
+     * Get the isConditional property: The conditional value indicates whether or not the sentence containing the recommendation includes a conditional statement. Keywords for conditional statements include 'if', 'when', 'unless', and so on.
      *
      * @return the isConditional value.
      */
@@ -147,8 +143,7 @@ public boolean isConditional() {
     }
 
     /**
-     * Get the isOption property: The option value indicates whether or not the sentence containing the recommendation
-     * includes an optional statement. Keywords for optional statements include 'recommend', 'consider', and so on.
+     * Get the isOption property: The option value indicates whether or not the sentence containing the recommendation includes an optional statement. Keywords for optional statements include 'recommend', 'consider', and so on.
      *
      * @return the isOption value.
      */
@@ -158,8 +153,7 @@ public boolean isOption() {
     }
 
     /**
-     * Get the isGuideline property: The guideline value indicates whether or not the recommendation is part of a
-     * guideline section that compiles all recommendations applicable to various findings.
+     * Get the isGuideline property: The guideline value indicates whether or not the recommendation is part of a guideline section that compiles all recommendations applicable to various findings.
      *
      * @return the isGuideline value.
      */
@@ -169,8 +163,7 @@ public boolean isGuideline() {
     }
 
     /**
-     * Get the isHedging property: Hedging refers to ambiguous, vague or imprecise language within the sentence of the
-     * recommendation. Keywords for hedging are 'can be','may be',and so on.
+     * Get the isHedging property: Hedging refers to ambiguous, vague or imprecise language within the sentence of the recommendation. Keywords for hedging are 'can be','may be',and so on.
      *
      * @return the isHedging value.
      */
@@ -180,8 +173,7 @@ public boolean isHedging() {
     }
 
     /**
-     * Get the recommendedProcedure property: The procedure recommendation can be a generic procedure or an imaging
-     * procedure.
+     * Get the recommendedProcedure property: The procedure recommendation can be a generic procedure or an imaging procedure.
      *
      * @return the recommendedProcedure value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java
index 10f3f5d56d15..ed596737f32c 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/FollowupRecommendationOptions.java
@@ -28,9 +28,7 @@ public final class FollowupRecommendationOptions {
     private Boolean includeRecommendationsInReferences;
 
     /*
-     * If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence.
-     * The start and end positions of these sentences will be put in an extension with url 'modality_sentences'.
-     * Default is false.
+     * If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an extension with url 'modality_sentences'. Default is false.
      */
     @Generated
     @JsonProperty(value = "provideFocusedSentenceEvidence")
@@ -44,8 +42,7 @@ public FollowupRecommendationOptions() {
     }
 
     /**
-     * Get the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations
-     * without a specific radiology procedure. Default is false.
+     * Get the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations without a specific radiology procedure. Default is false.
      *
      * @return the includeRecommendationsWithNoSpecifiedModality value.
      */
@@ -55,11 +52,9 @@ public Boolean isIncludeRecommendationsWithNoSpecifiedModality() {
     }
 
     /**
-     * Set the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations
-     * without a specific radiology procedure. Default is false.
+     * Set the includeRecommendationsWithNoSpecifiedModality property: Include/Exclude follow-up recommendations without a specific radiology procedure. Default is false.
      *
-     * @param includeRecommendationsWithNoSpecifiedModality the includeRecommendationsWithNoSpecifiedModality value to
-     * set.
+     * @param includeRecommendationsWithNoSpecifiedModality the includeRecommendationsWithNoSpecifiedModality value to set.
      * @return the FollowupRecommendationOptions object itself.
      */
     @Generated
@@ -70,8 +65,7 @@ public Boolean isIncludeRecommendationsWithNoSpecifiedModality() {
     }
 
     /**
-     * Get the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to
-     * a guideline or article. Default is false.
+     * Get the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to a guideline or article. Default is false.
      *
      * @return the includeRecommendationsInReferences value.
      */
@@ -81,8 +75,7 @@ public Boolean isIncludeRecommendationsInReferences() {
     }
 
     /**
-     * Set the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to
-     * a guideline or article. Default is false.
+     * Set the includeRecommendationsInReferences property: Include/Exclude follow-up recommendations in references to a guideline or article. Default is false.
      *
      * @param includeRecommendationsInReferences the includeRecommendationsInReferences value to set.
      * @return the FollowupRecommendationOptions object itself.
@@ -95,9 +88,7 @@ public Boolean isIncludeRecommendationsInReferences() {
     }
 
     /**
-     * Get the provideFocusedSentenceEvidence property: If this is true, provide one or more sentences as evidence for
-     * the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an
-     * extension with url 'modality_sentences'. Default is false.
+     * Get the provideFocusedSentenceEvidence property: If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an extension with url 'modality_sentences'. Default is false.
      *
      * @return the provideFocusedSentenceEvidence value.
      */
@@ -107,9 +98,7 @@ public Boolean isProvideFocusedSentenceEvidence() {
     }
 
     /**
-     * Set the provideFocusedSentenceEvidence property: If this is true, provide one or more sentences as evidence for
-     * the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an
-     * extension with url 'modality_sentences'. Default is false.
+     * Set the provideFocusedSentenceEvidence property: If this is true, provide one or more sentences as evidence for the recommendation, next to the token evidence. The start and end positions of these sentences will be put in an extension with url 'modality_sentences'. Default is false.
      *
      * @param provideFocusedSentenceEvidence the provideFocusedSentenceEvidence value to set.
      * @return the FollowupRecommendationOptions object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java
index 58893dcaaec6..b020563011bf 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/GenericProcedureRecommendation.java
@@ -13,7 +13,11 @@
 /**
  * Generic procedure information.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = GenericProcedureRecommendation.class,
+    visible = true)
 @JsonTypeName("genericProcedureRecommendation")
 @Immutable
 public final class GenericProcedureRecommendation extends ProcedureRecommendation {
@@ -23,7 +27,7 @@ public final class GenericProcedureRecommendation extends ProcedureRecommendatio
      */
     @Generated
     @JsonProperty(value = "code")
-    private FhirR4CodeableConcept code;
+    private final FhirR4CodeableConcept code;
 
     /*
      * Procedure description : MANAGEMENT PROCEDURE (PROCEDURE) or CONSULTATION (PROCEDURE) based on SNOMED CT.
@@ -40,6 +44,7 @@ public final class GenericProcedureRecommendation extends ProcedureRecommendatio
     @Generated
     @JsonCreator
     private GenericProcedureRecommendation(@JsonProperty(value = "code") FhirR4CodeableConcept code) {
+        setKind("genericProcedureRecommendation");
         this.code = code;
     }
 
@@ -54,8 +59,7 @@ public FhirR4CodeableConcept getCode() {
     }
 
     /**
-     * Get the description property: Procedure description : MANAGEMENT PROCEDURE (PROCEDURE) or CONSULTATION
-     * (PROCEDURE) based on SNOMED CT.
+     * Get the description property: Procedure description : MANAGEMENT PROCEDURE (PROCEDURE) or CONSULTATION (PROCEDURE) based on SNOMED CT.
      *
      * @return the description value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java
index 6d404d2334f9..75c109495288 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedure.java
@@ -19,14 +19,14 @@ public final class ImagingProcedure {
      */
     @Generated
     @JsonProperty(value = "modality")
-    private FhirR4CodeableConcept modality;
+    private final FhirR4CodeableConcept modality;
 
     /*
      * Anatomy : SNOMED CT code.
      */
     @Generated
     @JsonProperty(value = "anatomy")
-    private FhirR4CodeableConcept anatomy;
+    private final FhirR4CodeableConcept anatomy;
 
     /*
      * Laterality : SNOMED CT code.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java
index 9a6396efd0b7..ff3164d82afa 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ImagingProcedureRecommendation.java
@@ -14,7 +14,11 @@
 /**
  * Imaging procedures.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = ImagingProcedureRecommendation.class,
+    visible = true)
 @JsonTypeName("imagingProcedureRecommendation")
 @Immutable
 public final class ImagingProcedureRecommendation extends ProcedureRecommendation {
@@ -31,7 +35,7 @@ public final class ImagingProcedureRecommendation extends ProcedureRecommendatio
      */
     @Generated
     @JsonProperty(value = "imagingProcedures")
-    private List imagingProcedures;
+    private final List imagingProcedures;
 
     /**
      * Creates an instance of ImagingProcedureRecommendation class.
@@ -42,6 +46,7 @@ public final class ImagingProcedureRecommendation extends ProcedureRecommendatio
     @JsonCreator
     private ImagingProcedureRecommendation(
         @JsonProperty(value = "imagingProcedures") List imagingProcedures) {
+        setKind("imagingProcedureRecommendation");
         this.imagingProcedures = imagingProcedures;
     }
 
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java
index feb44634ca93..c635ef4c6e9a 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LateralityDiscrepancyInference.java
@@ -11,11 +11,13 @@
 import com.fasterxml.jackson.annotation.JsonTypeName;
 
 /**
- * A laterality mismatch occurs when there is a discrepancy between the clinical documentation and the ordered
- * procedure (orderLateralityMismatch), a contradiction within the clinical document (textLateralityContradiction), or
- * when no laterality is mentioned (textLateralityMissing).
+ * A laterality mismatch occurs when there is a discrepancy between the clinical documentation and the ordered procedure (orderLateralityMismatch), a contradiction within the clinical document (textLateralityContradiction), or when no laterality is mentioned (textLateralityMissing).
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LateralityDiscrepancyInference.class,
+    visible = true)
 @JsonTypeName("lateralityDiscrepancy")
 @Immutable
 public final class LateralityDiscrepancyInference extends FhirR4Extendible1 {
@@ -32,7 +34,7 @@ public final class LateralityDiscrepancyInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "discrepancyType")
-    private LateralityDiscrepancyType discrepancyType;
+    private final LateralityDiscrepancyType discrepancyType;
 
     /**
      * Creates an instance of LateralityDiscrepancyInference class.
@@ -43,6 +45,7 @@ public final class LateralityDiscrepancyInference extends FhirR4Extendible1 {
     @JsonCreator
     private LateralityDiscrepancyInference(
         @JsonProperty(value = "discrepancyType") LateralityDiscrepancyType discrepancyType) {
+        setKind(RadiologyInsightsInferenceType.LATERALITY_DISCREPANCY);
         this.discrepancyType = discrepancyType;
     }
 
@@ -57,8 +60,7 @@ public FhirR4CodeableConcept getLateralityIndication() {
     }
 
     /**
-     * Get the discrepancyType property: Mismatch type : orderLateralityMismatch, textLateralityContradiction,
-     * textLateralityMissing.
+     * Get the discrepancyType property: Mismatch type : orderLateralityMismatch, textLateralityContradiction, textLateralityMissing.
      *
      * @return the discrepancyType value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java
index 7c8d03e6adaa..653f8bc7b8d6 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/LimitedOrderDiscrepancyInference.java
@@ -12,10 +12,13 @@
 import java.util.List;
 
 /**
- * A limited order discrepancy occurs when there is a limited order, but all body parts and measurements that are
- * needed for a complete order are present in the document.
+ * A limited order discrepancy occurs when there is a limited order, but all body parts and measurements that are needed for a complete order are present in the document.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = LimitedOrderDiscrepancyInference.class,
+    visible = true)
 @JsonTypeName("limitedOrderDiscrepancy")
 @Immutable
 public final class LimitedOrderDiscrepancyInference extends FhirR4Extendible1 {
@@ -25,7 +28,7 @@ public final class LimitedOrderDiscrepancyInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "orderType")
-    private FhirR4CodeableConcept orderType;
+    private final FhirR4CodeableConcept orderType;
 
     /*
      * List of body parts found in the document : SNOMED CT codes.
@@ -49,12 +52,12 @@ public final class LimitedOrderDiscrepancyInference extends FhirR4Extendible1 {
     @Generated
     @JsonCreator
     private LimitedOrderDiscrepancyInference(@JsonProperty(value = "orderType") FhirR4CodeableConcept orderType) {
+        setKind(RadiologyInsightsInferenceType.LIMITED_ORDER_DISCREPANCY);
         this.orderType = orderType;
     }
 
     /**
-     * Get the orderType property: Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or
-     * breast.
+     * Get the orderType property: Order type : CPT ultrasound complete code for abdomen, retroperitoneal, pelvis or breast.
      *
      * @return the orderType value.
      */
@@ -74,8 +77,7 @@ public List getPresentBodyParts() {
     }
 
     /**
-     * Get the presentBodyPartMeasurements property: List of body parts that are measured according to the document :
-     * SNOMED CT codes.
+     * Get the presentBodyPartMeasurements property: List of body parts that are measured according to the document : SNOMED CT codes.
      *
      * @return the presentBodyPartMeasurements value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java
index ea27ca699d29..762b1403b577 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ObservationStatusCodeType.java
@@ -33,8 +33,7 @@ public final class ObservationStatusCodeType extends ExpandableStringEnum types;
+    private final List types;
 
     /**
      * Creates an instance of RadiologyCodeWithTypes class.
@@ -46,8 +44,7 @@ private RadiologyCodeWithTypes(@JsonProperty(value = "code") FhirR4CodeableConce
     }
 
     /**
-     * Get the code property: The SNOMED CT code indicates whether imaging was conducted with or without contrast in
-     * the case of contrast, and in the case of views, it denotes the number of views.
+     * Get the code property: The SNOMED CT code indicates whether imaging was conducted with or without contrast in the case of contrast, and in the case of views, it denotes the number of views.
      *
      * @return the code value.
      */
@@ -57,8 +54,7 @@ public FhirR4CodeableConcept getCode() {
     }
 
     /**
-     * Get the types property: The collection of types will indicate the contrast substance used in the case of
-     * contrast and, in the case of views, it will specify the types of views, such as lateral and frontal, etc.
+     * Get the types property: The collection of types will indicate the contrast substance used in the case of contrast and, in the case of views, it will specify the types of views, such as lateral and frontal, etc.
      *
      * @return the types value.
      */
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java
index b2392a9a275d..686ea25d2e46 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsData.java
@@ -20,7 +20,7 @@ public final class RadiologyInsightsData {
      */
     @Generated
     @JsonProperty(value = "patients")
-    private List patients;
+    private final List patients;
 
     /*
      * Configuration affecting the Radiology Insights model's inference.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java
index 214a0bc01e2b..3d97bfa9c0aa 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsInferenceResult.java
@@ -10,8 +10,7 @@
 import java.util.List;
 
 /**
- * The inference results for the Radiology Insights request. If field 'status' has value 'succeeded', then field
- * 'result' will contain an instance of RadiologyInsightsInferenceResult.
+ * The inference results for the Radiology Insights request. If field 'status' has value 'succeeded', then field 'result' will contain an instance of RadiologyInsightsInferenceResult.
  */
 @Immutable
 public final class RadiologyInsightsInferenceResult {
@@ -21,14 +20,14 @@ public final class RadiologyInsightsInferenceResult {
      */
     @Generated
     @JsonProperty(value = "patientResults")
-    private List patientResults;
+    private final List patientResults;
 
     /*
      * The version of the model used for inference, expressed as the model date.
      */
     @Generated
     @JsonProperty(value = "modelVersion")
-    private String modelVersion;
+    private final String modelVersion;
 
     /**
      * Creates an instance of RadiologyInsightsInferenceResult class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java
index f5cb2c100127..36716eb2bead 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsModelConfiguration.java
@@ -29,9 +29,7 @@ public final class RadiologyInsightsModelConfiguration {
     private Boolean includeEvidence;
 
     /*
-     * This is a list of inference types to be inferred for the current request. It could be used if only part of the
-     * Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the
-     * inference types.
+     * This is a list of inference types to be inferred for the current request. It could be used if only part of the Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the inference types.
      */
     @Generated
     @JsonProperty(value = "inferenceTypes")
@@ -81,8 +79,7 @@ public RadiologyInsightsModelConfiguration setVerbose(Boolean verbose) {
     }
 
     /**
-     * Get the includeEvidence property: An indication whether the model's output should include evidence for the
-     * inferences.
+     * Get the includeEvidence property: An indication whether the model's output should include evidence for the inferences.
      *
      * @return the includeEvidence value.
      */
@@ -92,8 +89,7 @@ public Boolean isIncludeEvidence() {
     }
 
     /**
-     * Set the includeEvidence property: An indication whether the model's output should include evidence for the
-     * inferences.
+     * Set the includeEvidence property: An indication whether the model's output should include evidence for the inferences.
      *
      * @param includeEvidence the includeEvidence value to set.
      * @return the RadiologyInsightsModelConfiguration object itself.
@@ -105,9 +101,7 @@ public RadiologyInsightsModelConfiguration setIncludeEvidence(Boolean includeEvi
     }
 
     /**
-     * Get the inferenceTypes property: This is a list of inference types to be inferred for the current request. It
-     * could be used if only part of the Radiology Insights inferences are required. If this list is omitted or empty,
-     * the model will return all the inference types.
+     * Get the inferenceTypes property: This is a list of inference types to be inferred for the current request. It could be used if only part of the Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the inference types.
      *
      * @return the inferenceTypes value.
      */
@@ -117,9 +111,7 @@ public List getInferenceTypes() {
     }
 
     /**
-     * Set the inferenceTypes property: This is a list of inference types to be inferred for the current request. It
-     * could be used if only part of the Radiology Insights inferences are required. If this list is omitted or empty,
-     * the model will return all the inference types.
+     * Set the inferenceTypes property: This is a list of inference types to be inferred for the current request. It could be used if only part of the Radiology Insights inferences are required. If this list is omitted or empty, the model will return all the inference types.
      *
      * @param inferenceTypes the inferenceTypes value to set.
      * @return the RadiologyInsightsModelConfiguration object itself.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java
index 65e58a5f120e..05eb8a0dc73d 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyInsightsPatientResult.java
@@ -20,14 +20,14 @@ public final class RadiologyInsightsPatientResult {
      */
     @Generated
     @JsonProperty(value = "patientId")
-    private String patientId;
+    private final String patientId;
 
     /*
      * The model's inferences for the given patient.
      */
     @Generated
     @JsonProperty(value = "inferences")
-    private List inferences;
+    private final List inferences;
 
     /**
      * Creates an instance of RadiologyInsightsPatientResult class.
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java
index b67ff74c7de6..6207ae4f67b8 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/RadiologyProcedureInference.java
@@ -12,10 +12,13 @@
 import java.util.List;
 
 /**
- * Radiology procedures are the specific imaging studies or examinations ordered for the patient, extracted from the
- * document information and text.
+ * Radiology procedures are the specific imaging studies or examinations ordered for the patient, extracted from the document information and text.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
+@JsonTypeInfo(
+    use = JsonTypeInfo.Id.NAME,
+    property = "kind",
+    defaultImpl = RadiologyProcedureInference.class,
+    visible = true)
 @JsonTypeName("radiologyProcedure")
 @Immutable
 public final class RadiologyProcedureInference extends FhirR4Extendible1 {
@@ -32,14 +35,14 @@ public final class RadiologyProcedureInference extends FhirR4Extendible1 {
      */
     @Generated
     @JsonProperty(value = "imagingProcedures")
-    private List imagingProcedures;
+    private final List imagingProcedures;
 
     /*
      * Ordered procedure information from the document information or text.
      */
     @Generated
     @JsonProperty(value = "orderedProcedure")
-    private FhirR4Extendible orderedProcedure;
+    private final FhirR4Extendible orderedProcedure;
 
     /**
      * Creates an instance of RadiologyProcedureInference class.
@@ -52,6 +55,7 @@ public final class RadiologyProcedureInference extends FhirR4Extendible1 {
     private RadiologyProcedureInference(
         @JsonProperty(value = "imagingProcedures") List imagingProcedures,
         @JsonProperty(value = "orderedProcedure") FhirR4Extendible orderedProcedure) {
+        setKind(RadiologyInsightsInferenceType.RADIOLOGY_PROCEDURE);
         this.imagingProcedures = imagingProcedures;
         this.orderedProcedure = orderedProcedure;
     }
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java
index 6cee2c296802..3174fa8e8d66 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyArm.java
@@ -19,7 +19,7 @@ public final class ResearchStudyArm {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Categorization of study arm
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java
index a03a2629dc73..bab5a11d1d1b 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyObjective.java
@@ -19,7 +19,7 @@ public final class ResearchStudyObjective {
      */
     @Generated
     @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * primary | secondary | exploratory
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java
index d6de6f10ffeb..4ad2a6db30a8 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/models/ResearchStudyStatusCodeType.java
@@ -39,16 +39,14 @@ public final class ResearchStudyStatusCodeType extends ExpandableStringEnum
  * Package containing the data models for RadiologyInsights.
- * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that
- * perform analysis and provide inferences to be used by a human.
+ * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that perform analysis and provide inferences to be used by a human.
  * 
  */
 package com.azure.health.insights.radiologyinsights.models;
diff --git a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java
index 9f2d0fc57192..396f91148eb2 100644
--- a/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java
+++ b/sdk/healthinsights/azure-health-insights-radiologyinsights/src/main/java/com/azure/health/insights/radiologyinsights/package-info.java
@@ -4,8 +4,7 @@
 /**
  * 
  * Package containing the classes for RadiologyInsights.
- * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that
- * perform analysis and provide inferences to be used by a human.
+ * Azure AI Health Insights provides an API that serves insight models, specific for Health & Life Sciences, that perform analysis and provide inferences to be used by a human.
  * 
  */
 package com.azure.health.insights.radiologyinsights;
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsAsyncClient.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsAsyncClient.java
index 6d837fea7f0b..346b19172c5c 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsAsyncClient.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsAsyncClient.java
@@ -3,8 +3,6 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.openai.assistants;
 
-import static com.azure.ai.openai.assistants.implementation.OpenAIUtils.addAzureVersionToRequestOptions;
-
 import com.azure.ai.openai.assistants.implementation.AssistantsClientImpl;
 import com.azure.ai.openai.assistants.implementation.MultipartFormDataHelper;
 import com.azure.ai.openai.assistants.implementation.models.CreateAssistantFileRequest;
@@ -31,7 +29,6 @@
 import com.azure.ai.openai.assistants.models.MessageFile;
 import com.azure.ai.openai.assistants.models.MessageRole;
 import com.azure.ai.openai.assistants.models.OpenAIFile;
-import com.azure.ai.openai.assistants.models.PageableList;
 import com.azure.ai.openai.assistants.models.RunStep;
 import com.azure.ai.openai.assistants.models.ThreadDeletionStatus;
 import com.azure.ai.openai.assistants.models.ThreadMessage;
@@ -55,6 +52,8 @@
 import java.util.Map;
 import java.util.Objects;
 import reactor.core.publisher.Mono;
+import static com.azure.ai.openai.assistants.implementation.OpenAIUtils.addAzureVersionToRequestOptions;
+import com.azure.ai.openai.assistants.models.PageableList;
 
 /**
  * Initializes a new instance of the asynchronous AssistantsClient type.
@@ -418,7 +417,8 @@ public Mono createAssistant(AssistantCreationOptions assistantCreatio
         // Generated convenience method for createAssistantWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createAssistantWithResponse(BinaryData.fromObject(assistantCreationOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(Assistant.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(Assistant.class));
     }
 
     /**
@@ -515,8 +515,7 @@ public Mono deleteAssistant(String assistantId) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return information about a file attached to an assistant, as used by tools that can read files on successful
-     * completion of {@link Mono}.
+     * @return information about a file attached to an assistant, as used by tools that can read files on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1836,8 +1835,7 @@ public Mono getAssistant(String assistantId) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return information about a file attached to an assistant, as used by tools that can read files on successful
-     * completion of {@link Mono}.
+     * @return information about a file attached to an assistant, as used by tools that can read files on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1866,7 +1864,8 @@ public Mono createThread(AssistantThreadCreationOptions assista
         // Generated convenience method for createThreadWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createThreadWithResponse(BinaryData.fromObject(assistantThreadCreationOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AssistantThread.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AssistantThread.class));
     }
 
     /**
@@ -1917,11 +1916,8 @@ public Mono deleteThread(String threadId) {
      * @param threadId The ID of the thread to create the new message on.
      * @param role The role to associate with the new message.
      * @param content The textual content for the new message.
-     * @param fileIds A list of up to 10 file IDs to associate with the message, as used by tools like
-     * 'code_interpreter' or 'retrieval' that can read files.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param fileIds A list of up to 10 file IDs to associate with the message, as used by tools like 'code_interpreter' or 'retrieval' that can read files.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2136,8 +2132,7 @@ public Mono> listMessageFiles(String threadId, String
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return information about a file attachment to a message within a thread on successful completion of
-     * {@link Mono}.
+     * @return information about a file attachment to a message within a thread on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2236,8 +2231,7 @@ public Mono getRun(String threadId, String runId) {
     }
 
     /**
-     * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a
-     * status of 'requires_action' with a required_action.type of 'submit_tool_outputs'.
+     * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a status of 'requires_action' with a required_action.type of 'submit_tool_outputs'.
      *
      * @param threadId The ID of the thread that was run.
      * @param runId The ID of the run that requires tool outputs.
@@ -2248,8 +2242,7 @@ public Mono getRun(String threadId, String runId) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return data representing a single evaluation run of an assistant thread on successful completion of
-     * {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2273,8 +2266,7 @@ public Mono submitToolOutputsToRun(String threadId, String runId, Lis
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return data representing a single evaluation run of an assistant thread on successful completion of
-     * {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2295,8 +2287,7 @@ public Mono cancelRun(String threadId, String runId) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return data representing a single evaluation run of an assistant thread on successful completion of
-     * {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2304,7 +2295,8 @@ public Mono createThreadAndRun(CreateAndRunThreadOptions createAndRun
         // Generated convenience method for createThreadAndRunWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createThreadAndRunWithResponse(BinaryData.fromObject(createAndRunThreadOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(ThreadRun.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(ThreadRun.class));
     }
 
     /**
@@ -2772,16 +2764,15 @@ public Mono updateAssistant(String assistantId, UpdateAssistantOption
         // Generated convenience method for updateAssistantWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateAssistantWithResponse(assistantId, BinaryData.fromObject(updateAssistantOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(Assistant.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(Assistant.class));
     }
 
     /**
      * Modifies an existing thread.
      *
      * @param threadId The ID of the thread to modify.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2829,9 +2820,7 @@ public Mono updateThread(String threadId) {
      *
      * @param threadId The ID of the thread containing the specified message to modify.
      * @param messageId The ID of the message to modify on the specified thread.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2886,8 +2875,7 @@ public Mono updateMessage(String threadId, String messageId) {
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return data representing a single evaluation run of an assistant thread on successful completion of
-     * {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2895,7 +2883,8 @@ public Mono createRun(String threadId, CreateRunOptions createRunOpti
         // Generated convenience method for createRunWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createRunWithResponse(threadId, BinaryData.fromObject(createRunOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(ThreadRun.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(ThreadRun.class));
     }
 
     /**
@@ -2922,17 +2911,14 @@ public Mono createRun(AssistantThread thread, Assistant assistant) {
      *
      * @param threadId The ID of the thread associated with the specified run.
      * @param runId The ID of the run to modify.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return data representing a single evaluation run of an assistant thread on successful completion of
-     * {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2956,8 +2942,7 @@ public Mono updateRun(String threadId, String runId, Map uploadFile(FileDetails file, FilePurpose purpose, String
             .serializeFileField("file", requestObj.getFile().getContent(), requestObj.getFile().getContentType(),
                 requestObj.getFile().getFilename())
             .serializeTextField("purpose", Objects.toString(requestObj.getPurpose()))
-            .serializeTextField("filename", requestObj.getFilename()).end().getRequestBody();
+            .serializeTextField("filename", requestObj.getFilename())
+            .end()
+            .getRequestBody();
         return uploadFileWithResponse(request, requestOptions).flatMap(FluxUtil::toMono)
             .map(protocolMethodData -> protocolMethodData.toObject(OpenAIFile.class));
     }
@@ -3043,7 +3030,9 @@ public Mono uploadFile(FileDetails file, FilePurpose purpose) {
             .serializeFileField("file", requestObj.getFile().getContent(), requestObj.getFile().getContentType(),
                 requestObj.getFile().getFilename())
             .serializeTextField("purpose", Objects.toString(requestObj.getPurpose()))
-            .serializeTextField("filename", requestObj.getFilename()).end().getRequestBody();
+            .serializeTextField("filename", requestObj.getFilename())
+            .end()
+            .getRequestBody();
         return uploadFileWithResponse(request, requestOptions).flatMap(FluxUtil::toMono)
             .map(protocolMethodData -> protocolMethodData.toObject(OpenAIFile.class));
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClient.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClient.java
index b8791b9994d5..2147e8733721 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClient.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClient.java
@@ -3,8 +3,6 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.openai.assistants;
 
-import static com.azure.ai.openai.assistants.implementation.OpenAIUtils.addAzureVersionToRequestOptions;
-
 import com.azure.ai.openai.assistants.implementation.AssistantsClientImpl;
 import com.azure.ai.openai.assistants.implementation.MultipartFormDataHelper;
 import com.azure.ai.openai.assistants.implementation.models.CreateAssistantFileRequest;
@@ -31,7 +29,6 @@
 import com.azure.ai.openai.assistants.models.MessageFile;
 import com.azure.ai.openai.assistants.models.MessageRole;
 import com.azure.ai.openai.assistants.models.OpenAIFile;
-import com.azure.ai.openai.assistants.models.PageableList;
 import com.azure.ai.openai.assistants.models.RunStep;
 import com.azure.ai.openai.assistants.models.ThreadDeletionStatus;
 import com.azure.ai.openai.assistants.models.ThreadMessage;
@@ -53,6 +50,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import static com.azure.ai.openai.assistants.implementation.OpenAIUtils.addAzureVersionToRequestOptions;
+import com.azure.ai.openai.assistants.models.PageableList;
 
 /**
  * Initializes a new instance of the synchronous AssistantsClient type.
@@ -1834,7 +1833,8 @@ public AssistantThread createThread(AssistantThreadCreationOptions assistantThre
         // Generated convenience method for createThreadWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createThreadWithResponse(BinaryData.fromObject(assistantThreadCreationOptions), requestOptions)
-            .getValue().toObject(AssistantThread.class);
+            .getValue()
+            .toObject(AssistantThread.class);
     }
 
     /**
@@ -1883,11 +1883,8 @@ public ThreadDeletionStatus deleteThread(String threadId) {
      * @param threadId The ID of the thread to create the new message on.
      * @param role The role to associate with the new message.
      * @param content The textual content for the new message.
-     * @param fileIds A list of up to 10 file IDs to associate with the message, as used by tools like
-     * 'code_interpreter' or 'retrieval' that can read files.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param fileIds A list of up to 10 file IDs to associate with the message, as used by tools like 'code_interpreter' or 'retrieval' that can read files.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2195,8 +2192,7 @@ public ThreadRun getRun(String threadId, String runId) {
     }
 
     /**
-     * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a
-     * status of 'requires_action' with a required_action.type of 'submit_tool_outputs'.
+     * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a status of 'requires_action' with a required_action.type of 'submit_tool_outputs'.
      *
      * @param threadId The ID of the thread that was run.
      * @param runId The ID of the run that requires tool outputs.
@@ -2259,7 +2255,8 @@ public ThreadRun createThreadAndRun(CreateAndRunThreadOptions createAndRunThread
         // Generated convenience method for createThreadAndRunWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createThreadAndRunWithResponse(BinaryData.fromObject(createAndRunThreadOptions), requestOptions)
-            .getValue().toObject(ThreadRun.class);
+            .getValue()
+            .toObject(ThreadRun.class);
     }
 
     /**
@@ -2716,16 +2713,15 @@ public Assistant updateAssistant(String assistantId, UpdateAssistantOptions upda
         // Generated convenience method for updateAssistantWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateAssistantWithResponse(assistantId, BinaryData.fromObject(updateAssistantOptions), requestOptions)
-            .getValue().toObject(Assistant.class);
+            .getValue()
+            .toObject(Assistant.class);
     }
 
     /**
      * Modifies an existing thread.
      *
      * @param threadId The ID of the thread to modify.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2771,9 +2767,7 @@ public AssistantThread updateThread(String threadId) {
      *
      * @param threadId The ID of the thread containing the specified message to modify.
      * @param messageId The ID of the message to modify on the specified thread.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2864,9 +2858,7 @@ public ThreadRun createRun(AssistantThread thread, Assistant assistant) {
      *
      * @param threadId The ID of the thread associated with the specified run.
      * @param runId The ID of the run to modify.
-     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional
-     * information about that object in a structured format. Keys may be up to 64 characters in length and values may be
-     * up to 512 characters in length.
+     * @param metadata A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2952,7 +2944,9 @@ public OpenAIFile uploadFile(FileDetails file, FilePurpose purpose, String filen
             .serializeFileField("file", requestObj.getFile().getContent(), requestObj.getFile().getContentType(),
                 requestObj.getFile().getFilename())
             .serializeTextField("purpose", Objects.toString(requestObj.getPurpose()))
-            .serializeTextField("filename", requestObj.getFilename()).end().getRequestBody();
+            .serializeTextField("filename", requestObj.getFilename())
+            .end()
+            .getRequestBody();
         return uploadFileWithResponse(request, requestOptions).getValue().toObject(OpenAIFile.class);
     }
 
@@ -2979,7 +2973,9 @@ public OpenAIFile uploadFile(FileDetails file, FilePurpose purpose) {
             .serializeFileField("file", requestObj.getFile().getContent(), requestObj.getFile().getContentType(),
                 requestObj.getFile().getFilename())
             .serializeTextField("purpose", Objects.toString(requestObj.getPurpose()))
-            .serializeTextField("filename", requestObj.getFilename()).end().getRequestBody();
+            .serializeTextField("filename", requestObj.getFilename())
+            .end()
+            .getRequestBody();
         return uploadFileWithResponse(request, requestOptions).getValue().toObject(OpenAIFile.class);
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClientBuilder.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClientBuilder.java
index 288053f0f293..5d61e3fa9cf4 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClientBuilder.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/AssistantsClientBuilder.java
@@ -3,10 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.openai.assistants;
 
-import static com.azure.ai.openai.assistants.implementation.OpenAIUtils.useAzureOpenAIService;
-
 import com.azure.ai.openai.assistants.implementation.AssistantsClientImpl;
-import com.azure.ai.openai.assistants.implementation.OpenAIUtils;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
@@ -26,8 +23,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -45,6 +42,8 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import static com.azure.ai.openai.assistants.implementation.OpenAIUtils.useAzureOpenAIService;
+import com.azure.ai.openai.assistants.implementation.OpenAIUtils;
 
 /**
  * A builder for creating a new instance of the AssistantsClient type.
@@ -275,24 +274,29 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
         policies.add(new AddDatePolicy());
         if (keyCredential != null) {
-            policies.add(useAzureOpenAIService(this.endpoint) ? new KeyCredentialPolicy("api-key", keyCredential)
+            policies.add(useAzureOpenAIService(this.endpoint)
+                ? new KeyCredentialPolicy("api-key", keyCredential)
                 : new KeyCredentialPolicy("Authorization", keyCredential, "Bearer"));
         }
         if (tokenCredential != null) {
             policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/AssistantsClientImpl.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/AssistantsClientImpl.java
index 0f4121e33fcd..3ac2f86a9944 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/AssistantsClientImpl.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/AssistantsClientImpl.java
@@ -141,8 +141,7 @@ public AssistantsClientImpl(HttpPipeline httpPipeline, SerializerAdapter seriali
     }
 
     /**
-     * The interface defining all the services for AssistantsClient to be used by the proxy service to perform REST
-     * calls.
+     * The interface defining all the services for AssistantsClient to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}")
     @ServiceInterface(name = "AssistantsClient")
@@ -799,9 +798,7 @@ Response getFileSync(@HostParam("endpoint") String endpoint, @PathPa
 
     /**
      * Creates a new assistant.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     model: String (Required)
@@ -810,6 +807,7 @@ Response getFileSync(@HostParam("endpoint") String endpoint, @PathPa
      *     instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Optional): [
@@ -820,9 +818,7 @@ Response getFileSync(@HostParam("endpoint") String endpoint, @PathPa
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -834,6 +830,7 @@ Response getFileSync(@HostParam("endpoint") String endpoint, @PathPa
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -851,8 +848,7 @@ Response getFileSync(@HostParam("endpoint") String endpoint, @PathPa
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createAssistantWithResponseAsync(BinaryData assistantCreationOptions,
@@ -864,9 +860,7 @@ public Mono> createAssistantWithResponseAsync(BinaryData as
 
     /**
      * Creates a new assistant.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     model: String (Required)
@@ -875,6 +869,7 @@ public Mono> createAssistantWithResponseAsync(BinaryData as
      *     instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Optional): [
@@ -885,9 +880,7 @@ public Mono> createAssistantWithResponseAsync(BinaryData as
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -899,6 +892,7 @@ public Mono> createAssistantWithResponseAsync(BinaryData as
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -928,52 +922,17 @@ public Response createAssistantWithResponse(BinaryData assistantCrea
 
     /**
      * Gets a list of assistants that were previously created.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -988,6 +947,7 @@ public Response createAssistantWithResponse(BinaryData assistantCrea
      *             instructions: String (Required)
      *             tools (Required): [
      *                  (Required){
+     *                     type: String (Required)
      *                 }
      *             ]
      *             file_ids (Required): [
@@ -1009,8 +969,7 @@ public Response createAssistantWithResponse(BinaryData assistantCrea
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of assistants that were previously created along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a list of assistants that were previously created along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> listAssistantsWithResponseAsync(RequestOptions requestOptions) {
@@ -1021,52 +980,17 @@ public Mono> listAssistantsWithResponseAsync(RequestOptions
 
     /**
      * Gets a list of assistants that were previously created.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -1081,6 +1005,7 @@ public Mono> listAssistantsWithResponseAsync(RequestOptions
      *             instructions: String (Required)
      *             tools (Required): [
      *                  (Required){
+     *                     type: String (Required)
      *                 }
      *             ]
      *             file_ids (Required): [
@@ -1112,9 +1037,7 @@ public Response listAssistantsWithResponse(RequestOptions requestOpt
 
     /**
      * Retrieves an existing assistant.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1126,6 +1049,7 @@ public Response listAssistantsWithResponse(RequestOptions requestOpt
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -1143,8 +1067,7 @@ public Response listAssistantsWithResponse(RequestOptions requestOpt
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getAssistantWithResponseAsync(String assistantId, RequestOptions requestOptions) {
@@ -1155,9 +1078,7 @@ public Mono> getAssistantWithResponseAsync(String assistant
 
     /**
      * Retrieves an existing assistant.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1169,6 +1090,7 @@ public Mono> getAssistantWithResponseAsync(String assistant
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -1196,9 +1118,7 @@ public Response getAssistantWithResponse(String assistantId, Request
 
     /**
      * Modifies an existing assistant.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     model: String (Optional)
@@ -1207,6 +1127,7 @@ public Response getAssistantWithResponse(String assistantId, Request
      *     instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Optional): [
@@ -1217,9 +1138,7 @@ public Response getAssistantWithResponse(String assistantId, Request
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1231,6 +1150,7 @@ public Response getAssistantWithResponse(String assistantId, Request
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -1249,8 +1169,7 @@ public Response getAssistantWithResponse(String assistantId, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> updateAssistantWithResponseAsync(String assistantId,
@@ -1262,9 +1181,7 @@ public Mono> updateAssistantWithResponseAsync(String assist
 
     /**
      * Modifies an existing assistant.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     model: String (Optional)
@@ -1273,6 +1190,7 @@ public Mono> updateAssistantWithResponseAsync(String assist
      *     instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Optional): [
@@ -1283,9 +1201,7 @@ public Mono> updateAssistantWithResponseAsync(String assist
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1297,6 +1213,7 @@ public Mono> updateAssistantWithResponseAsync(String assist
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -1327,9 +1244,7 @@ public Response updateAssistantWithResponse(String assistantId, Bina
 
     /**
      * Deletes an assistant.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1344,8 +1259,7 @@ public Response updateAssistantWithResponse(String assistantId, Bina
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the status of an assistant deletion operation along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the status of an assistant deletion operation along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteAssistantWithResponseAsync(String assistantId,
@@ -1357,9 +1271,7 @@ public Mono> deleteAssistantWithResponseAsync(String assist
 
     /**
      * Deletes an assistant.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1384,17 +1296,13 @@ public Response deleteAssistantWithResponse(String assistantId, Requ
 
     /**
      * Attaches a previously uploaded file to an assistant for use by tools that can read files.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     file_id: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1411,8 +1319,7 @@ public Response deleteAssistantWithResponse(String assistantId, Requ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a file attached to an assistant, as used by tools that can read files along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return information about a file attached to an assistant, as used by tools that can read files along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createAssistantFileWithResponseAsync(String assistantId, BinaryData request,
@@ -1424,17 +1331,13 @@ public Mono> createAssistantFileWithResponseAsync(String as
 
     /**
      * Attaches a previously uploaded file to an assistant for use by tools that can read files.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     file_id: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1451,8 +1354,7 @@ public Mono> createAssistantFileWithResponseAsync(String as
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a file attached to an assistant, as used by tools that can read files along with
-     * {@link Response}.
+     * @return information about a file attached to an assistant, as used by tools that can read files along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response createAssistantFileWithResponse(String assistantId, BinaryData request,
@@ -1464,52 +1366,17 @@ public Response createAssistantFileWithResponse(String assistantId,
 
     /**
      * Gets a list of files attached to a specific assistant, as used by tools that can read files.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -1533,8 +1400,7 @@ public Response createAssistantFileWithResponse(String assistantId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of files attached to a specific assistant, as used by tools that can read files along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return a list of files attached to a specific assistant, as used by tools that can read files along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> listAssistantFilesWithResponseAsync(String assistantId,
@@ -1546,52 +1412,17 @@ public Mono> listAssistantFilesWithResponseAsync(String ass
 
     /**
      * Gets a list of files attached to a specific assistant, as used by tools that can read files.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -1615,8 +1446,7 @@ public Mono> listAssistantFilesWithResponseAsync(String ass
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of files attached to a specific assistant, as used by tools that can read files along with
-     * {@link Response}.
+     * @return a list of files attached to a specific assistant, as used by tools that can read files along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response listAssistantFilesWithResponse(String assistantId, RequestOptions requestOptions) {
@@ -1626,9 +1456,7 @@ public Response listAssistantFilesWithResponse(String assistantId, R
 
     /**
      * Retrieves a file attached to an assistant.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1645,8 +1473,7 @@ public Response listAssistantFilesWithResponse(String assistantId, R
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a file attached to an assistant, as used by tools that can read files along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return information about a file attached to an assistant, as used by tools that can read files along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getAssistantFileWithResponseAsync(String assistantId, String fileId,
@@ -1658,9 +1485,7 @@ public Mono> getAssistantFileWithResponseAsync(String assis
 
     /**
      * Retrieves a file attached to an assistant.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1677,8 +1502,7 @@ public Mono> getAssistantFileWithResponseAsync(String assis
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a file attached to an assistant, as used by tools that can read files along with
-     * {@link Response}.
+     * @return information about a file attached to an assistant, as used by tools that can read files along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getAssistantFileWithResponse(String assistantId, String fileId,
@@ -1691,9 +1515,7 @@ public Response getAssistantFileWithResponse(String assistantId, Str
     /**
      * Unlinks a previously attached file from an assistant, rendering it unavailable for use by tools that can read
      * files.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1709,8 +1531,7 @@ public Response getAssistantFileWithResponse(String assistantId, Str
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the status of an assistant file deletion operation along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return the status of an assistant file deletion operation along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteAssistantFileWithResponseAsync(String assistantId, String fileId,
@@ -1723,9 +1544,7 @@ public Mono> deleteAssistantFileWithResponseAsync(String as
     /**
      * Unlinks a previously attached file from an assistant, rendering it unavailable for use by tools that can read
      * files.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1753,9 +1572,7 @@ public Response deleteAssistantFileWithResponse(String assistantId,
 
     /**
      * Creates a new thread. Threads contain messages and can be run by assistants.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     messages (Optional): [
@@ -1775,9 +1592,7 @@ public Response deleteAssistantFileWithResponse(String assistantId,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1795,8 +1610,7 @@ public Response deleteAssistantFileWithResponse(String assistantId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a single thread associated with an assistant along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return information about a single thread associated with an assistant along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createThreadWithResponseAsync(BinaryData assistantThreadCreationOptions,
@@ -1808,9 +1622,7 @@ public Mono> createThreadWithResponseAsync(BinaryData assis
 
     /**
      * Creates a new thread. Threads contain messages and can be run by assistants.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     messages (Optional): [
@@ -1830,9 +1642,7 @@ public Mono> createThreadWithResponseAsync(BinaryData assis
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1862,9 +1672,7 @@ public Response createThreadWithResponse(BinaryData assistantThreadC
 
     /**
      * Gets information about an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1882,8 +1690,7 @@ public Response createThreadWithResponse(BinaryData assistantThreadC
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about an existing thread along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return information about an existing thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getThreadWithResponseAsync(String threadId, RequestOptions requestOptions) {
@@ -1894,9 +1701,7 @@ public Mono> getThreadWithResponseAsync(String threadId, Re
 
     /**
      * Gets information about an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1924,9 +1729,7 @@ public Response getThreadWithResponse(String threadId, RequestOption
 
     /**
      * Modifies an existing thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metadata (Optional): {
@@ -1934,9 +1737,7 @@ public Response getThreadWithResponse(String threadId, RequestOption
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1955,8 +1756,7 @@ public Response getThreadWithResponse(String threadId, RequestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a single thread associated with an assistant along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return information about a single thread associated with an assistant along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> updateThreadWithResponseAsync(String threadId, BinaryData request,
@@ -1968,9 +1768,7 @@ public Mono> updateThreadWithResponseAsync(String threadId,
 
     /**
      * Modifies an existing thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metadata (Optional): {
@@ -1978,9 +1776,7 @@ public Mono> updateThreadWithResponseAsync(String threadId,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2010,9 +1806,7 @@ public Response updateThreadWithResponse(String threadId, BinaryData
 
     /**
      * Deletes an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2027,8 +1821,7 @@ public Response updateThreadWithResponse(String threadId, BinaryData
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the status of a thread deletion operation along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the status of a thread deletion operation along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteThreadWithResponseAsync(String threadId, RequestOptions requestOptions) {
@@ -2039,9 +1832,7 @@ public Mono> deleteThreadWithResponseAsync(String threadId,
 
     /**
      * Deletes an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2066,9 +1857,7 @@ public Response deleteThreadWithResponse(String threadId, RequestOpt
 
     /**
      * Creates a new message on a specified thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     role: String(user/assistant) (Required)
@@ -2081,9 +1870,7 @@ public Response deleteThreadWithResponse(String threadId, RequestOpt
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2093,6 +1880,7 @@ public Response deleteThreadWithResponse(String threadId, RequestOpt
      *     role: String(user/assistant) (Required)
      *     content (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     assistant_id: String (Optional)
@@ -2113,8 +1901,7 @@ public Response deleteThreadWithResponse(String threadId, RequestOpt
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a single, existing message within an assistant thread along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return a single, existing message within an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createMessageWithResponseAsync(String threadId, BinaryData request,
@@ -2126,9 +1913,7 @@ public Mono> createMessageWithResponseAsync(String threadId
 
     /**
      * Creates a new message on a specified thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     role: String(user/assistant) (Required)
@@ -2141,9 +1926,7 @@ public Mono> createMessageWithResponseAsync(String threadId
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2153,6 +1936,7 @@ public Mono> createMessageWithResponseAsync(String threadId
      *     role: String(user/assistant) (Required)
      *     content (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     assistant_id: String (Optional)
@@ -2184,52 +1968,17 @@ public Response createMessageWithResponse(String threadId, BinaryDat
 
     /**
      * Gets a list of messages that exist on a thread.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -2242,6 +1991,7 @@ public Response createMessageWithResponse(String threadId, BinaryDat
      *             role: String(user/assistant) (Required)
      *             content (Required): [
      *                  (Required){
+     *                     type: String (Required)
      *                 }
      *             ]
      *             assistant_id: String (Optional)
@@ -2266,8 +2016,7 @@ public Response createMessageWithResponse(String threadId, BinaryDat
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of messages that exist on a thread along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a list of messages that exist on a thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> listMessagesWithResponseAsync(String threadId, RequestOptions requestOptions) {
@@ -2278,52 +2027,17 @@ public Mono> listMessagesWithResponseAsync(String threadId,
 
     /**
      * Gets a list of messages that exist on a thread.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -2336,6 +2050,7 @@ public Mono> listMessagesWithResponseAsync(String threadId,
      *             role: String(user/assistant) (Required)
      *             content (Required): [
      *                  (Required){
+     *                     type: String (Required)
      *                 }
      *             ]
      *             assistant_id: String (Optional)
@@ -2370,9 +2085,7 @@ public Response listMessagesWithResponse(String threadId, RequestOpt
 
     /**
      * Gets an existing message from an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2382,6 +2095,7 @@ public Response listMessagesWithResponse(String threadId, RequestOpt
      *     role: String(user/assistant) (Required)
      *     content (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     assistant_id: String (Optional)
@@ -2402,8 +2116,7 @@ public Response listMessagesWithResponse(String threadId, RequestOpt
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return an existing message from an existing thread along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return an existing message from an existing thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getMessageWithResponseAsync(String threadId, String messageId,
@@ -2415,9 +2128,7 @@ public Mono> getMessageWithResponseAsync(String threadId, S
 
     /**
      * Gets an existing message from an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2427,6 +2138,7 @@ public Mono> getMessageWithResponseAsync(String threadId, S
      *     role: String(user/assistant) (Required)
      *     content (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     assistant_id: String (Optional)
@@ -2458,9 +2170,7 @@ public Response getMessageWithResponse(String threadId, String messa
 
     /**
      * Modifies an existing message on an existing thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metadata (Optional): {
@@ -2468,9 +2178,7 @@ public Response getMessageWithResponse(String threadId, String messa
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2480,6 +2188,7 @@ public Response getMessageWithResponse(String threadId, String messa
      *     role: String(user/assistant) (Required)
      *     content (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     assistant_id: String (Optional)
@@ -2501,8 +2210,7 @@ public Response getMessageWithResponse(String threadId, String messa
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a single, existing message within an assistant thread along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return a single, existing message within an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> updateMessageWithResponseAsync(String threadId, String messageId,
@@ -2514,9 +2222,7 @@ public Mono> updateMessageWithResponseAsync(String threadId
 
     /**
      * Modifies an existing message on an existing thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metadata (Optional): {
@@ -2524,9 +2230,7 @@ public Mono> updateMessageWithResponseAsync(String threadId
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2536,6 +2240,7 @@ public Mono> updateMessageWithResponseAsync(String threadId
      *     role: String(user/assistant) (Required)
      *     content (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     assistant_id: String (Optional)
@@ -2569,52 +2274,17 @@ public Response updateMessageWithResponse(String threadId, String me
 
     /**
      * Gets a list of previously uploaded files associated with a message from a thread.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -2639,8 +2309,7 @@ public Response updateMessageWithResponse(String threadId, String me
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of previously uploaded files associated with a message from a thread along with {@link Response}
-     * on successful completion of {@link Mono}.
+     * @return a list of previously uploaded files associated with a message from a thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> listMessageFilesWithResponseAsync(String threadId, String messageId,
@@ -2652,52 +2321,17 @@ public Mono> listMessageFilesWithResponseAsync(String threa
 
     /**
      * Gets a list of previously uploaded files associated with a message from a thread.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -2734,9 +2368,7 @@ public Response listMessageFilesWithResponse(String threadId, String
 
     /**
      * Gets information about a file attachment to a message within a thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2754,8 +2386,7 @@ public Response listMessageFilesWithResponse(String threadId, String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return information about a file attachment to a message within a thread along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return information about a file attachment to a message within a thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getMessageFileWithResponseAsync(String threadId, String messageId, String fileId,
@@ -2767,9 +2398,7 @@ public Mono> getMessageFileWithResponseAsync(String threadI
 
     /**
      * Gets information about a file attachment to a message within a thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2799,9 +2428,7 @@ public Response getMessageFileWithResponse(String threadId, String m
 
     /**
      * Creates a new run for an assistant thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     assistant_id: String (Required)
@@ -2810,6 +2437,7 @@ public Response getMessageFileWithResponse(String threadId, String m
      *     additional_instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     metadata (Optional): {
@@ -2817,9 +2445,7 @@ public Response getMessageFileWithResponse(String threadId, String m
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2828,6 +2454,7 @@ public Response getMessageFileWithResponse(String threadId, String m
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -2837,6 +2464,7 @@ public Response getMessageFileWithResponse(String threadId, String m
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -2861,8 +2489,7 @@ public Response getMessageFileWithResponse(String threadId, String m
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createRunWithResponseAsync(String threadId, BinaryData createRunOptions,
@@ -2874,9 +2501,7 @@ public Mono> createRunWithResponseAsync(String threadId, Bi
 
     /**
      * Creates a new run for an assistant thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     assistant_id: String (Required)
@@ -2885,6 +2510,7 @@ public Mono> createRunWithResponseAsync(String threadId, Bi
      *     additional_instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     metadata (Optional): {
@@ -2892,9 +2518,7 @@ public Mono> createRunWithResponseAsync(String threadId, Bi
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -2903,6 +2527,7 @@ public Mono> createRunWithResponseAsync(String threadId, Bi
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -2912,6 +2537,7 @@ public Mono> createRunWithResponseAsync(String threadId, Bi
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -2948,52 +2574,17 @@ public Response createRunWithResponse(String threadId, BinaryData cr
 
     /**
      * Gets a list of runs for a specified thread.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -3005,6 +2596,7 @@ public Response createRunWithResponse(String threadId, BinaryData cr
      *             assistant_id: String (Required)
      *             status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *             required_action (Optional): {
+     *                 type: String (Required)
      *             }
      *             last_error (Required): {
      *                 code: String (Required)
@@ -3014,6 +2606,7 @@ public Response createRunWithResponse(String threadId, BinaryData cr
      *             instructions: String (Required)
      *             tools (Required): [
      *                  (Required){
+     *                     type: String (Required)
      *                 }
      *             ]
      *             file_ids (Required): [
@@ -3042,8 +2635,7 @@ public Response createRunWithResponse(String threadId, BinaryData cr
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of runs for a specified thread along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a list of runs for a specified thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> listRunsWithResponseAsync(String threadId, RequestOptions requestOptions) {
@@ -3054,52 +2646,17 @@ public Mono> listRunsWithResponseAsync(String threadId, Req
 
     /**
      * Gets a list of runs for a specified thread.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -3111,6 +2668,7 @@ public Mono> listRunsWithResponseAsync(String threadId, Req
      *             assistant_id: String (Required)
      *             status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *             required_action (Optional): {
+     *                 type: String (Required)
      *             }
      *             last_error (Required): {
      *                 code: String (Required)
@@ -3120,6 +2678,7 @@ public Mono> listRunsWithResponseAsync(String threadId, Req
      *             instructions: String (Required)
      *             tools (Required): [
      *                  (Required){
+     *                     type: String (Required)
      *                 }
      *             ]
      *             file_ids (Required): [
@@ -3158,9 +2717,7 @@ public Response listRunsWithResponse(String threadId, RequestOptions
 
     /**
      * Gets an existing run from an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3169,6 +2726,7 @@ public Response listRunsWithResponse(String threadId, RequestOptions
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3178,6 +2736,7 @@ public Response listRunsWithResponse(String threadId, RequestOptions
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3202,8 +2761,7 @@ public Response listRunsWithResponse(String threadId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return an existing run from an existing thread along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return an existing run from an existing thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getRunWithResponseAsync(String threadId, String runId,
@@ -3215,9 +2773,7 @@ public Mono> getRunWithResponseAsync(String threadId, Strin
 
     /**
      * Gets an existing run from an existing thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3226,6 +2782,7 @@ public Mono> getRunWithResponseAsync(String threadId, Strin
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3235,6 +2792,7 @@ public Mono> getRunWithResponseAsync(String threadId, Strin
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3269,9 +2827,7 @@ public Response getRunWithResponse(String threadId, String runId, Re
 
     /**
      * Modifies an existing thread run.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metadata (Optional): {
@@ -3279,9 +2835,7 @@ public Response getRunWithResponse(String threadId, String runId, Re
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3290,6 +2844,7 @@ public Response getRunWithResponse(String threadId, String runId, Re
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3299,6 +2854,7 @@ public Response getRunWithResponse(String threadId, String runId, Re
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3324,8 +2880,7 @@ public Response getRunWithResponse(String threadId, String runId, Re
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> updateRunWithResponseAsync(String threadId, String runId, BinaryData request,
@@ -3337,9 +2892,7 @@ public Mono> updateRunWithResponseAsync(String threadId, St
 
     /**
      * Modifies an existing thread run.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     metadata (Optional): {
@@ -3347,9 +2900,7 @@ public Mono> updateRunWithResponseAsync(String threadId, St
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3358,6 +2909,7 @@ public Mono> updateRunWithResponseAsync(String threadId, St
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3367,6 +2919,7 @@ public Mono> updateRunWithResponseAsync(String threadId, St
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3403,11 +2956,8 @@ public Response updateRunWithResponse(String threadId, String runId,
     }
 
     /**
-     * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a
-     * status of 'requires_action' with a required_action.type of 'submit_tool_outputs'.
-     * 

- * Request Body Schema - *

+ * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a status of 'requires_action' with a required_action.type of 'submit_tool_outputs'. + *

Request Body Schema

*
{@code
      * {
      *     tool_outputs (Required): [
@@ -3418,9 +2968,7 @@ public Response updateRunWithResponse(String threadId, String runId,
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3429,6 +2977,7 @@ public Response updateRunWithResponse(String threadId, String runId,
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3438,6 +2987,7 @@ public Response updateRunWithResponse(String threadId, String runId,
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3463,8 +3013,7 @@ public Response updateRunWithResponse(String threadId, String runId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> submitToolOutputsToRunWithResponseAsync(String threadId, String runId,
@@ -3475,11 +3024,8 @@ public Mono> submitToolOutputsToRunWithResponseAsync(String
     }
 
     /**
-     * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a
-     * status of 'requires_action' with a required_action.type of 'submit_tool_outputs'.
-     * 

- * Request Body Schema - *

+ * Submits outputs from tools as requested by tool calls in a run. Runs that need submitted tool outputs will have a status of 'requires_action' with a required_action.type of 'submit_tool_outputs'. + *

Request Body Schema

*
{@code
      * {
      *     tool_outputs (Required): [
@@ -3490,9 +3036,7 @@ public Mono> submitToolOutputsToRunWithResponseAsync(String
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3501,6 +3045,7 @@ public Mono> submitToolOutputsToRunWithResponseAsync(String
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3510,6 +3055,7 @@ public Mono> submitToolOutputsToRunWithResponseAsync(String
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3547,9 +3093,7 @@ public Response submitToolOutputsToRunWithResponse(String threadId,
 
     /**
      * Cancels a run of an in progress thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3558,6 +3102,7 @@ public Response submitToolOutputsToRunWithResponse(String threadId,
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3567,6 +3112,7 @@ public Response submitToolOutputsToRunWithResponse(String threadId,
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3591,8 +3137,7 @@ public Response submitToolOutputsToRunWithResponse(String threadId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> cancelRunWithResponseAsync(String threadId, String runId,
@@ -3604,9 +3149,7 @@ public Mono> cancelRunWithResponseAsync(String threadId, St
 
     /**
      * Cancels a run of an in progress thread.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3615,6 +3158,7 @@ public Mono> cancelRunWithResponseAsync(String threadId, St
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3624,6 +3168,7 @@ public Mono> cancelRunWithResponseAsync(String threadId, St
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3658,9 +3203,7 @@ public Response cancelRunWithResponse(String threadId, String runId,
 
     /**
      * Creates a new assistant thread and immediately starts a run using that new thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     assistant_id: String (Required)
@@ -3685,6 +3228,7 @@ public Response cancelRunWithResponse(String threadId, String runId,
      *     instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     metadata (Optional): {
@@ -3692,9 +3236,7 @@ public Response cancelRunWithResponse(String threadId, String runId,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3703,6 +3245,7 @@ public Response cancelRunWithResponse(String threadId, String runId,
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3712,6 +3255,7 @@ public Response cancelRunWithResponse(String threadId, String runId,
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3735,8 +3279,7 @@ public Response cancelRunWithResponse(String threadId, String runId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on
-     * successful completion of {@link Mono}.
+     * @return data representing a single evaluation run of an assistant thread along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createThreadAndRunWithResponseAsync(BinaryData createAndRunThreadOptions,
@@ -3748,9 +3291,7 @@ public Mono> createThreadAndRunWithResponseAsync(BinaryData
 
     /**
      * Creates a new assistant thread and immediately starts a run using that new thread.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     assistant_id: String (Required)
@@ -3775,6 +3316,7 @@ public Mono> createThreadAndRunWithResponseAsync(BinaryData
      *     instructions: String (Optional)
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     metadata (Optional): {
@@ -3782,9 +3324,7 @@ public Mono> createThreadAndRunWithResponseAsync(BinaryData
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3793,6 +3333,7 @@ public Mono> createThreadAndRunWithResponseAsync(BinaryData
      *     assistant_id: String (Required)
      *     status: String(queued/in_progress/requires_action/cancelling/cancelled/failed/completed/expired) (Required)
      *     required_action (Optional): {
+     *         type: String (Required)
      *     }
      *     last_error (Required): {
      *         code: String (Required)
@@ -3802,6 +3343,7 @@ public Mono> createThreadAndRunWithResponseAsync(BinaryData
      *     instructions: String (Required)
      *     tools (Required): [
      *          (Required){
+     *             type: String (Required)
      *         }
      *     ]
      *     file_ids (Required): [
@@ -3837,9 +3379,7 @@ public Response createThreadAndRunWithResponse(BinaryData createAndR
 
     /**
      * Gets a single run step from a thread run.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3850,6 +3390,7 @@ public Response createThreadAndRunWithResponse(BinaryData createAndR
      *     run_id: String (Required)
      *     status: String(in_progress/cancelled/failed/completed/expired) (Required)
      *     step_details (Required): {
+     *         type: String(message_creation/tool_calls) (Required)
      *     }
      *     last_error (Required): {
      *         code: String(server_error/rate_limit_exceeded) (Required)
@@ -3886,9 +3427,7 @@ public Mono> getRunStepWithResponseAsync(String threadId, S
 
     /**
      * Gets a single run step from a thread run.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -3899,6 +3438,7 @@ public Mono> getRunStepWithResponseAsync(String threadId, S
      *     run_id: String (Required)
      *     status: String(in_progress/cancelled/failed/completed/expired) (Required)
      *     step_details (Required): {
+     *         type: String(message_creation/tool_calls) (Required)
      *     }
      *     last_error (Required): {
      *         code: String(server_error/rate_limit_exceeded) (Required)
@@ -3935,52 +3475,17 @@ public Response getRunStepWithResponse(String threadId, String runId
 
     /**
      * Gets a list of run steps from a thread run.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -3994,6 +3499,7 @@ public Response getRunStepWithResponse(String threadId, String runId
      *             run_id: String (Required)
      *             status: String(in_progress/cancelled/failed/completed/expired) (Required)
      *             step_details (Required): {
+     *                 type: String(message_creation/tool_calls) (Required)
      *             }
      *             last_error (Required): {
      *                 code: String(server_error/rate_limit_exceeded) (Required)
@@ -4022,8 +3528,7 @@ public Response getRunStepWithResponse(String threadId, String runId
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a list of run steps from a thread run along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a list of run steps from a thread run along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> listRunStepsWithResponseAsync(String threadId, String runId,
@@ -4035,52 +3540,17 @@ public Mono> listRunStepsWithResponseAsync(String threadId,
 
     /**
      * Gets a list of run steps from a thread run.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is - * 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. - * Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if - * you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include - * before=obj_foo in order to fetch the previous page of the list.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.
orderStringNoSort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -4094,6 +3564,7 @@ public Mono> listRunStepsWithResponseAsync(String threadId,
      *             run_id: String (Required)
      *             status: String(in_progress/cancelled/failed/completed/expired) (Required)
      *             step_details (Required): {
+     *                 type: String(message_creation/tool_calls) (Required)
      *             }
      *             last_error (Required): {
      *                 code: String(server_error/rate_limit_exceeded) (Required)
@@ -4132,29 +3603,14 @@ public Response listRunStepsWithResponse(String threadId, String run
 
     /**
      * Gets a list of previously uploaded files.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
purposeStringNoA value that, when provided, limits list results to files matching the corresponding purpose. Allowed values: - * "fine-tune", "fine-tune-results", "assistants", "assistants_output".
Query Parameters
NameTypeRequiredDescription
purposeStringNoA value that, when provided, limits list results to files matching the corresponding purpose. Allowed values: "fine-tune", "fine-tune-results", "assistants", "assistants_output".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -4186,29 +3642,14 @@ public Mono> listFilesWithResponseAsync(RequestOptions requ
 
     /**
      * Gets a list of previously uploaded files.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
purposeStringNoA value that, when provided, limits list results to files matching the corresponding purpose. Allowed values: - * "fine-tune", "fine-tune-results", "assistants", "assistants_output".
Query Parameters
NameTypeRequiredDescription
purposeStringNoA value that, when provided, limits list results to files matching the corresponding purpose. Allowed values: "fine-tune", "fine-tune-results", "assistants", "assistants_output".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -4240,9 +3681,7 @@ public Response listFilesWithResponse(RequestOptions requestOptions)
 
     /**
      * Uploads a file for use by other operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -4260,8 +3699,7 @@ public Response listFilesWithResponse(RequestOptions requestOptions)
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> uploadFileWithResponseAsync(BinaryData request, RequestOptions requestOptions) {
@@ -4273,9 +3711,7 @@ public Mono> uploadFileWithResponseAsync(BinaryData request
 
     /**
      * Uploads a file for use by other operations.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -4304,9 +3740,7 @@ public Response uploadFileWithResponse(BinaryData request, RequestOp
 
     /**
      * Delete a previously uploaded file.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -4321,8 +3755,7 @@ public Response uploadFileWithResponse(BinaryData request, RequestOp
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a status response from a file deletion operation along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a status response from a file deletion operation along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteFileWithResponseAsync(String fileId, RequestOptions requestOptions) {
@@ -4333,9 +3766,7 @@ public Mono> deleteFileWithResponseAsync(String fileId, Req
 
     /**
      * Delete a previously uploaded file.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -4360,9 +3791,7 @@ public Response deleteFileWithResponse(String fileId, RequestOptions
 
     /**
      * Returns information about a specific file. Does not retrieve file content.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
@@ -4380,8 +3809,7 @@ public Response deleteFileWithResponse(String fileId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return represents an assistant that can call the model and use tools along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getFileWithResponseAsync(String fileId, RequestOptions requestOptions) {
@@ -4392,9 +3820,7 @@ public Mono> getFileWithResponseAsync(String fileId, Reques
 
     /**
      * Returns information about a specific file. Does not retrieve file content.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     object: String (Required)
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/MultipartFormDataHelper.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/MultipartFormDataHelper.java
index 3d86b522f7d8..2c91eb15265d 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/MultipartFormDataHelper.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/MultipartFormDataHelper.java
@@ -8,6 +8,7 @@
 import com.azure.core.http.rest.RequestOptions;
 import com.azure.core.util.BinaryData;
 import com.azure.core.util.CoreUtils;
+
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.io.SequenceInputStream;
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateAssistantFileRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateAssistantFileRequest.java
index dc32122995a0..71b4a0f58a09 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateAssistantFileRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateAssistantFileRequest.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The CreateAssistantFileRequest model.
  */
 @Immutable
-public final class CreateAssistantFileRequest {
+public final class CreateAssistantFileRequest implements JsonSerializable {
 
     /*
      * The ID of the previously uploaded file to attach.
      */
     @Generated
-    @JsonProperty(value = "file_id")
-    private String fileId;
+    private final String fileId;
 
     /**
      * Creates an instance of CreateAssistantFileRequest class.
@@ -27,8 +29,7 @@ public final class CreateAssistantFileRequest {
      * @param fileId the fileId value to set.
      */
     @Generated
-    @JsonCreator
-    public CreateAssistantFileRequest(@JsonProperty(value = "file_id") String fileId) {
+    public CreateAssistantFileRequest(String fileId) {
         this.fileId = fileId;
     }
 
@@ -41,4 +42,40 @@ public CreateAssistantFileRequest(@JsonProperty(value = "file_id") String fileId
     public String getFileId() {
         return this.fileId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("file_id", this.fileId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CreateAssistantFileRequest from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CreateAssistantFileRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CreateAssistantFileRequest.
+     */
+    @Generated
+    public static CreateAssistantFileRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String fileId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("file_id".equals(fieldName)) {
+                    fileId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new CreateAssistantFileRequest(fileId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateMessageRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateMessageRequest.java
index 8686880231d9..9c2fd7f8f33f 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateMessageRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/CreateMessageRequest.java
@@ -6,8 +6,11 @@
 import com.azure.ai.openai.assistants.models.MessageRole;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,37 +18,30 @@
  * The CreateMessageRequest model.
  */
 @Fluent
-public final class CreateMessageRequest {
+public final class CreateMessageRequest implements JsonSerializable {
 
     /*
      * The role to associate with the new message.
      */
     @Generated
-    @JsonProperty(value = "role")
-    private MessageRole role;
+    private final MessageRole role;
 
     /*
      * The textual content for the new message.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
-     * A list of up to 10 file IDs to associate with the message, as used by tools like 'code_interpreter' or
-     * 'retrieval' that can read files.
+     * A list of up to 10 file IDs to associate with the message, as used by tools like 'code_interpreter' or 'retrieval' that can read files.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
     private List fileIds;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -55,9 +51,7 @@ public final class CreateMessageRequest {
      * @param content the content value to set.
      */
     @Generated
-    @JsonCreator
-    public CreateMessageRequest(@JsonProperty(value = "role") MessageRole role,
-        @JsonProperty(value = "content") String content) {
+    public CreateMessageRequest(MessageRole role, String content) {
         this.role = role;
         this.content = content;
     }
@@ -83,8 +77,7 @@ public String getContent() {
     }
 
     /**
-     * Get the fileIds property: A list of up to 10 file IDs to associate with the message, as used by tools like
-     * 'code_interpreter' or 'retrieval' that can read files.
+     * Get the fileIds property: A list of up to 10 file IDs to associate with the message, as used by tools like 'code_interpreter' or 'retrieval' that can read files.
      *
      * @return the fileIds value.
      */
@@ -94,8 +87,7 @@ public List getFileIds() {
     }
 
     /**
-     * Set the fileIds property: A list of up to 10 file IDs to associate with the message, as used by tools like
-     * 'code_interpreter' or 'retrieval' that can read files.
+     * Set the fileIds property: A list of up to 10 file IDs to associate with the message, as used by tools like 'code_interpreter' or 'retrieval' that can read files.
      *
      * @param fileIds the fileIds value to set.
      * @return the CreateMessageRequest object itself.
@@ -107,9 +99,7 @@ public CreateMessageRequest setFileIds(List fileIds) {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -119,9 +109,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the CreateMessageRequest object itself.
@@ -131,4 +119,55 @@ public CreateMessageRequest setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString());
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CreateMessageRequest from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CreateMessageRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CreateMessageRequest.
+     */
+    @Generated
+    public static CreateMessageRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            MessageRole role = null;
+            String content = null;
+            List fileIds = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("role".equals(fieldName)) {
+                    role = MessageRole.fromString(reader.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("file_ids".equals(fieldName)) {
+                    fileIds = reader.readArray(reader1 -> reader1.getString());
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            CreateMessageRequest deserializedCreateMessageRequest = new CreateMessageRequest(role, content);
+            deserializedCreateMessageRequest.fileIds = fileIds;
+            deserializedCreateMessageRequest.metadata = metadata;
+            return deserializedCreateMessageRequest;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/FileListResponse.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/FileListResponse.java
index 25f74270766f..a89defc18968 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/FileListResponse.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/FileListResponse.java
@@ -6,29 +6,30 @@
 import com.azure.ai.openai.assistants.models.OpenAIFile;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data from a file list operation.
  */
 @Immutable
-public final class FileListResponse {
+public final class FileListResponse implements JsonSerializable {
 
     /*
      * The object type, which is always 'list'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The files returned for the request.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /**
      * Creates an instance of FileListResponse class.
@@ -36,8 +37,7 @@ public final class FileListResponse {
      * @param data the data value to set.
      */
     @Generated
-    @JsonCreator
-    private FileListResponse(@JsonProperty(value = "data") List data) {
+    private FileListResponse(List data) {
         this.data = data;
     }
 
@@ -60,4 +60,41 @@ public String getObject() {
     public List getData() {
         return this.data;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of FileListResponse from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of FileListResponse if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the FileListResponse.
+     */
+    @Generated
+    public static FileListResponse fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> OpenAIFile.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new FileListResponse(data);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistant.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistant.java
index 3a97d5975bc7..71cca9562449 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistant.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistant.java
@@ -6,50 +6,48 @@
 import com.azure.ai.openai.assistants.models.Assistant;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data for a requested list of items.
  */
 @Immutable
-public final class OpenAIPageableListOfAssistant {
+public final class OpenAIPageableListOfAssistant implements JsonSerializable {
 
     /*
      * The object type, which is always list.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The requested list of items.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /*
      * The first ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "first_id")
-    private String firstId;
+    private final String firstId;
 
     /*
      * The last ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "last_id")
-    private String lastId;
+    private final String lastId;
 
     /*
      * A value indicating whether there are additional values available not captured in this list.
      */
     @Generated
-    @JsonProperty(value = "has_more")
-    private boolean hasMore;
+    private final boolean hasMore;
 
     /**
      * Creates an instance of OpenAIPageableListOfAssistant class.
@@ -60,10 +58,7 @@ public final class OpenAIPageableListOfAssistant {
      * @param hasMore the hasMore value to set.
      */
     @Generated
-    @JsonCreator
-    private OpenAIPageableListOfAssistant(@JsonProperty(value = "data") List data,
-        @JsonProperty(value = "first_id") String firstId, @JsonProperty(value = "last_id") String lastId,
-        @JsonProperty(value = "has_more") boolean hasMore) {
+    private OpenAIPageableListOfAssistant(List data, String firstId, String lastId, boolean hasMore) {
         this.data = data;
         this.firstId = firstId;
         this.lastId = lastId;
@@ -111,8 +106,7 @@ public String getLastId() {
     }
 
     /**
-     * Get the hasMore property: A value indicating whether there are additional values available not captured in this
-     * list.
+     * Get the hasMore property: A value indicating whether there are additional values available not captured in this list.
      *
      * @return the hasMore value.
      */
@@ -120,4 +114,53 @@ public String getLastId() {
     public boolean isHasMore() {
         return this.hasMore;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("first_id", this.firstId);
+        jsonWriter.writeStringField("last_id", this.lastId);
+        jsonWriter.writeBooleanField("has_more", this.hasMore);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIPageableListOfAssistant from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIPageableListOfAssistant if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIPageableListOfAssistant.
+     */
+    @Generated
+    public static OpenAIPageableListOfAssistant fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            String firstId = null;
+            String lastId = null;
+            boolean hasMore = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> Assistant.fromJson(reader1));
+                } else if ("first_id".equals(fieldName)) {
+                    firstId = reader.getString();
+                } else if ("last_id".equals(fieldName)) {
+                    lastId = reader.getString();
+                } else if ("has_more".equals(fieldName)) {
+                    hasMore = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIPageableListOfAssistant(data, firstId, lastId, hasMore);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistantFile.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistantFile.java
index f7bd3bcfc52f..42cf9554db13 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistantFile.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfAssistantFile.java
@@ -6,50 +6,48 @@
 import com.azure.ai.openai.assistants.models.AssistantFile;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data for a requested list of items.
  */
 @Immutable
-public final class OpenAIPageableListOfAssistantFile {
+public final class OpenAIPageableListOfAssistantFile implements JsonSerializable {
 
     /*
      * The object type, which is always list.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The requested list of items.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /*
      * The first ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "first_id")
-    private String firstId;
+    private final String firstId;
 
     /*
      * The last ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "last_id")
-    private String lastId;
+    private final String lastId;
 
     /*
      * A value indicating whether there are additional values available not captured in this list.
      */
     @Generated
-    @JsonProperty(value = "has_more")
-    private boolean hasMore;
+    private final boolean hasMore;
 
     /**
      * Creates an instance of OpenAIPageableListOfAssistantFile class.
@@ -60,10 +58,8 @@ public final class OpenAIPageableListOfAssistantFile {
      * @param hasMore the hasMore value to set.
      */
     @Generated
-    @JsonCreator
-    private OpenAIPageableListOfAssistantFile(@JsonProperty(value = "data") List data,
-        @JsonProperty(value = "first_id") String firstId, @JsonProperty(value = "last_id") String lastId,
-        @JsonProperty(value = "has_more") boolean hasMore) {
+    private OpenAIPageableListOfAssistantFile(List data, String firstId, String lastId,
+        boolean hasMore) {
         this.data = data;
         this.firstId = firstId;
         this.lastId = lastId;
@@ -111,8 +107,7 @@ public String getLastId() {
     }
 
     /**
-     * Get the hasMore property: A value indicating whether there are additional values available not captured in this
-     * list.
+     * Get the hasMore property: A value indicating whether there are additional values available not captured in this list.
      *
      * @return the hasMore value.
      */
@@ -120,4 +115,53 @@ public String getLastId() {
     public boolean isHasMore() {
         return this.hasMore;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("first_id", this.firstId);
+        jsonWriter.writeStringField("last_id", this.lastId);
+        jsonWriter.writeBooleanField("has_more", this.hasMore);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIPageableListOfAssistantFile from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIPageableListOfAssistantFile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIPageableListOfAssistantFile.
+     */
+    @Generated
+    public static OpenAIPageableListOfAssistantFile fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            String firstId = null;
+            String lastId = null;
+            boolean hasMore = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> AssistantFile.fromJson(reader1));
+                } else if ("first_id".equals(fieldName)) {
+                    firstId = reader.getString();
+                } else if ("last_id".equals(fieldName)) {
+                    lastId = reader.getString();
+                } else if ("has_more".equals(fieldName)) {
+                    hasMore = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIPageableListOfAssistantFile(data, firstId, lastId, hasMore);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfMessageFile.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfMessageFile.java
index ea3ef8734374..9dcc2bdc8715 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfMessageFile.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfMessageFile.java
@@ -6,50 +6,48 @@
 import com.azure.ai.openai.assistants.models.MessageFile;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data for a requested list of items.
  */
 @Immutable
-public final class OpenAIPageableListOfMessageFile {
+public final class OpenAIPageableListOfMessageFile implements JsonSerializable {
 
     /*
      * The object type, which is always list.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The requested list of items.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /*
      * The first ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "first_id")
-    private String firstId;
+    private final String firstId;
 
     /*
      * The last ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "last_id")
-    private String lastId;
+    private final String lastId;
 
     /*
      * A value indicating whether there are additional values available not captured in this list.
      */
     @Generated
-    @JsonProperty(value = "has_more")
-    private boolean hasMore;
+    private final boolean hasMore;
 
     /**
      * Creates an instance of OpenAIPageableListOfMessageFile class.
@@ -60,10 +58,7 @@ public final class OpenAIPageableListOfMessageFile {
      * @param hasMore the hasMore value to set.
      */
     @Generated
-    @JsonCreator
-    private OpenAIPageableListOfMessageFile(@JsonProperty(value = "data") List data,
-        @JsonProperty(value = "first_id") String firstId, @JsonProperty(value = "last_id") String lastId,
-        @JsonProperty(value = "has_more") boolean hasMore) {
+    private OpenAIPageableListOfMessageFile(List data, String firstId, String lastId, boolean hasMore) {
         this.data = data;
         this.firstId = firstId;
         this.lastId = lastId;
@@ -111,8 +106,7 @@ public String getLastId() {
     }
 
     /**
-     * Get the hasMore property: A value indicating whether there are additional values available not captured in this
-     * list.
+     * Get the hasMore property: A value indicating whether there are additional values available not captured in this list.
      *
      * @return the hasMore value.
      */
@@ -120,4 +114,53 @@ public String getLastId() {
     public boolean isHasMore() {
         return this.hasMore;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("first_id", this.firstId);
+        jsonWriter.writeStringField("last_id", this.lastId);
+        jsonWriter.writeBooleanField("has_more", this.hasMore);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIPageableListOfMessageFile from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIPageableListOfMessageFile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIPageableListOfMessageFile.
+     */
+    @Generated
+    public static OpenAIPageableListOfMessageFile fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            String firstId = null;
+            String lastId = null;
+            boolean hasMore = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> MessageFile.fromJson(reader1));
+                } else if ("first_id".equals(fieldName)) {
+                    firstId = reader.getString();
+                } else if ("last_id".equals(fieldName)) {
+                    lastId = reader.getString();
+                } else if ("has_more".equals(fieldName)) {
+                    hasMore = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIPageableListOfMessageFile(data, firstId, lastId, hasMore);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfRunStep.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfRunStep.java
index 98061354a2e8..1aca2dd8679f 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfRunStep.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfRunStep.java
@@ -6,50 +6,48 @@
 import com.azure.ai.openai.assistants.models.RunStep;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data for a requested list of items.
  */
 @Immutable
-public final class OpenAIPageableListOfRunStep {
+public final class OpenAIPageableListOfRunStep implements JsonSerializable {
 
     /*
      * The object type, which is always list.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The requested list of items.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /*
      * The first ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "first_id")
-    private String firstId;
+    private final String firstId;
 
     /*
      * The last ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "last_id")
-    private String lastId;
+    private final String lastId;
 
     /*
      * A value indicating whether there are additional values available not captured in this list.
      */
     @Generated
-    @JsonProperty(value = "has_more")
-    private boolean hasMore;
+    private final boolean hasMore;
 
     /**
      * Creates an instance of OpenAIPageableListOfRunStep class.
@@ -60,10 +58,7 @@ public final class OpenAIPageableListOfRunStep {
      * @param hasMore the hasMore value to set.
      */
     @Generated
-    @JsonCreator
-    private OpenAIPageableListOfRunStep(@JsonProperty(value = "data") List data,
-        @JsonProperty(value = "first_id") String firstId, @JsonProperty(value = "last_id") String lastId,
-        @JsonProperty(value = "has_more") boolean hasMore) {
+    private OpenAIPageableListOfRunStep(List data, String firstId, String lastId, boolean hasMore) {
         this.data = data;
         this.firstId = firstId;
         this.lastId = lastId;
@@ -111,8 +106,7 @@ public String getLastId() {
     }
 
     /**
-     * Get the hasMore property: A value indicating whether there are additional values available not captured in this
-     * list.
+     * Get the hasMore property: A value indicating whether there are additional values available not captured in this list.
      *
      * @return the hasMore value.
      */
@@ -120,4 +114,53 @@ public String getLastId() {
     public boolean isHasMore() {
         return this.hasMore;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("first_id", this.firstId);
+        jsonWriter.writeStringField("last_id", this.lastId);
+        jsonWriter.writeBooleanField("has_more", this.hasMore);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIPageableListOfRunStep from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIPageableListOfRunStep if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIPageableListOfRunStep.
+     */
+    @Generated
+    public static OpenAIPageableListOfRunStep fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            String firstId = null;
+            String lastId = null;
+            boolean hasMore = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> RunStep.fromJson(reader1));
+                } else if ("first_id".equals(fieldName)) {
+                    firstId = reader.getString();
+                } else if ("last_id".equals(fieldName)) {
+                    lastId = reader.getString();
+                } else if ("has_more".equals(fieldName)) {
+                    hasMore = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIPageableListOfRunStep(data, firstId, lastId, hasMore);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadMessage.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadMessage.java
index bf6c67cfd050..b5728142fb06 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadMessage.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadMessage.java
@@ -6,50 +6,48 @@
 import com.azure.ai.openai.assistants.models.ThreadMessage;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data for a requested list of items.
  */
 @Immutable
-public final class OpenAIPageableListOfThreadMessage {
+public final class OpenAIPageableListOfThreadMessage implements JsonSerializable {
 
     /*
      * The object type, which is always list.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The requested list of items.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /*
      * The first ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "first_id")
-    private String firstId;
+    private final String firstId;
 
     /*
      * The last ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "last_id")
-    private String lastId;
+    private final String lastId;
 
     /*
      * A value indicating whether there are additional values available not captured in this list.
      */
     @Generated
-    @JsonProperty(value = "has_more")
-    private boolean hasMore;
+    private final boolean hasMore;
 
     /**
      * Creates an instance of OpenAIPageableListOfThreadMessage class.
@@ -60,10 +58,8 @@ public final class OpenAIPageableListOfThreadMessage {
      * @param hasMore the hasMore value to set.
      */
     @Generated
-    @JsonCreator
-    private OpenAIPageableListOfThreadMessage(@JsonProperty(value = "data") List data,
-        @JsonProperty(value = "first_id") String firstId, @JsonProperty(value = "last_id") String lastId,
-        @JsonProperty(value = "has_more") boolean hasMore) {
+    private OpenAIPageableListOfThreadMessage(List data, String firstId, String lastId,
+        boolean hasMore) {
         this.data = data;
         this.firstId = firstId;
         this.lastId = lastId;
@@ -111,8 +107,7 @@ public String getLastId() {
     }
 
     /**
-     * Get the hasMore property: A value indicating whether there are additional values available not captured in this
-     * list.
+     * Get the hasMore property: A value indicating whether there are additional values available not captured in this list.
      *
      * @return the hasMore value.
      */
@@ -120,4 +115,53 @@ public String getLastId() {
     public boolean isHasMore() {
         return this.hasMore;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("first_id", this.firstId);
+        jsonWriter.writeStringField("last_id", this.lastId);
+        jsonWriter.writeBooleanField("has_more", this.hasMore);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIPageableListOfThreadMessage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIPageableListOfThreadMessage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIPageableListOfThreadMessage.
+     */
+    @Generated
+    public static OpenAIPageableListOfThreadMessage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            String firstId = null;
+            String lastId = null;
+            boolean hasMore = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> ThreadMessage.fromJson(reader1));
+                } else if ("first_id".equals(fieldName)) {
+                    firstId = reader.getString();
+                } else if ("last_id".equals(fieldName)) {
+                    lastId = reader.getString();
+                } else if ("has_more".equals(fieldName)) {
+                    hasMore = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIPageableListOfThreadMessage(data, firstId, lastId, hasMore);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadRun.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadRun.java
index 445221b26009..cf1829231cd7 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadRun.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/OpenAIPageableListOfThreadRun.java
@@ -6,50 +6,48 @@
 import com.azure.ai.openai.assistants.models.ThreadRun;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The response data for a requested list of items.
  */
 @Immutable
-public final class OpenAIPageableListOfThreadRun {
+public final class OpenAIPageableListOfThreadRun implements JsonSerializable {
 
     /*
      * The object type, which is always list.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "list";
+    private final String object = "list";
 
     /*
      * The requested list of items.
      */
     @Generated
-    @JsonProperty(value = "data")
-    private List data;
+    private final List data;
 
     /*
      * The first ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "first_id")
-    private String firstId;
+    private final String firstId;
 
     /*
      * The last ID represented in this list.
      */
     @Generated
-    @JsonProperty(value = "last_id")
-    private String lastId;
+    private final String lastId;
 
     /*
      * A value indicating whether there are additional values available not captured in this list.
      */
     @Generated
-    @JsonProperty(value = "has_more")
-    private boolean hasMore;
+    private final boolean hasMore;
 
     /**
      * Creates an instance of OpenAIPageableListOfThreadRun class.
@@ -60,10 +58,7 @@ public final class OpenAIPageableListOfThreadRun {
      * @param hasMore the hasMore value to set.
      */
     @Generated
-    @JsonCreator
-    private OpenAIPageableListOfThreadRun(@JsonProperty(value = "data") List data,
-        @JsonProperty(value = "first_id") String firstId, @JsonProperty(value = "last_id") String lastId,
-        @JsonProperty(value = "has_more") boolean hasMore) {
+    private OpenAIPageableListOfThreadRun(List data, String firstId, String lastId, boolean hasMore) {
         this.data = data;
         this.firstId = firstId;
         this.lastId = lastId;
@@ -111,8 +106,7 @@ public String getLastId() {
     }
 
     /**
-     * Get the hasMore property: A value indicating whether there are additional values available not captured in this
-     * list.
+     * Get the hasMore property: A value indicating whether there are additional values available not captured in this list.
      *
      * @return the hasMore value.
      */
@@ -120,4 +114,53 @@ public String getLastId() {
     public boolean isHasMore() {
         return this.hasMore;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeArrayField("data", this.data, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("first_id", this.firstId);
+        jsonWriter.writeStringField("last_id", this.lastId);
+        jsonWriter.writeBooleanField("has_more", this.hasMore);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIPageableListOfThreadRun from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIPageableListOfThreadRun if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIPageableListOfThreadRun.
+     */
+    @Generated
+    public static OpenAIPageableListOfThreadRun fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List data = null;
+            String firstId = null;
+            String lastId = null;
+            boolean hasMore = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("data".equals(fieldName)) {
+                    data = reader.readArray(reader1 -> ThreadRun.fromJson(reader1));
+                } else if ("first_id".equals(fieldName)) {
+                    firstId = reader.getString();
+                } else if ("last_id".equals(fieldName)) {
+                    lastId = reader.getString();
+                } else if ("has_more".equals(fieldName)) {
+                    hasMore = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIPageableListOfThreadRun(data, firstId, lastId, hasMore);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/SubmitToolOutputsToRunRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/SubmitToolOutputsToRunRequest.java
index ed82d43ae599..71f99ab05c70 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/SubmitToolOutputsToRunRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/SubmitToolOutputsToRunRequest.java
@@ -6,22 +6,24 @@
 import com.azure.ai.openai.assistants.models.ToolOutput;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The SubmitToolOutputsToRunRequest model.
  */
 @Immutable
-public final class SubmitToolOutputsToRunRequest {
+public final class SubmitToolOutputsToRunRequest implements JsonSerializable {
 
     /*
      * The list of tool outputs requested by tool calls from the specified run.
      */
     @Generated
-    @JsonProperty(value = "tool_outputs")
-    private List toolOutputs;
+    private final List toolOutputs;
 
     /**
      * Creates an instance of SubmitToolOutputsToRunRequest class.
@@ -29,8 +31,7 @@ public final class SubmitToolOutputsToRunRequest {
      * @param toolOutputs the toolOutputs value to set.
      */
     @Generated
-    @JsonCreator
-    public SubmitToolOutputsToRunRequest(@JsonProperty(value = "tool_outputs") List toolOutputs) {
+    public SubmitToolOutputsToRunRequest(List toolOutputs) {
         this.toolOutputs = toolOutputs;
     }
 
@@ -43,4 +44,40 @@ public SubmitToolOutputsToRunRequest(@JsonProperty(value = "tool_outputs") List<
     public List getToolOutputs() {
         return this.toolOutputs;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("tool_outputs", this.toolOutputs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SubmitToolOutputsToRunRequest from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SubmitToolOutputsToRunRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the SubmitToolOutputsToRunRequest.
+     */
+    @Generated
+    public static SubmitToolOutputsToRunRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List toolOutputs = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("tool_outputs".equals(fieldName)) {
+                    toolOutputs = reader.readArray(reader1 -> ToolOutput.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new SubmitToolOutputsToRunRequest(toolOutputs);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateMessageRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateMessageRequest.java
index 67ef3119330d..7ec648984847 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateMessageRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateMessageRequest.java
@@ -5,22 +5,23 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * The UpdateMessageRequest model.
  */
 @Fluent
-public final class UpdateMessageRequest {
+public final class UpdateMessageRequest implements JsonSerializable {
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -31,9 +32,7 @@ public UpdateMessageRequest() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -43,9 +42,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the UpdateMessageRequest object itself.
@@ -55,4 +52,40 @@ public UpdateMessageRequest setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of UpdateMessageRequest from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of UpdateMessageRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the UpdateMessageRequest.
+     */
+    @Generated
+    public static UpdateMessageRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            UpdateMessageRequest deserializedUpdateMessageRequest = new UpdateMessageRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("metadata".equals(fieldName)) {
+                    Map metadata = reader.readMap(reader1 -> reader1.getString());
+                    deserializedUpdateMessageRequest.metadata = metadata;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedUpdateMessageRequest;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateRunRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateRunRequest.java
index 4be0b606f8f4..ef4822837bc1 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateRunRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateRunRequest.java
@@ -5,22 +5,23 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * The UpdateRunRequest model.
  */
 @Fluent
-public final class UpdateRunRequest {
+public final class UpdateRunRequest implements JsonSerializable {
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -31,9 +32,7 @@ public UpdateRunRequest() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -43,9 +42,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the UpdateRunRequest object itself.
@@ -55,4 +52,40 @@ public UpdateRunRequest setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of UpdateRunRequest from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of UpdateRunRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the UpdateRunRequest.
+     */
+    @Generated
+    public static UpdateRunRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            UpdateRunRequest deserializedUpdateRunRequest = new UpdateRunRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("metadata".equals(fieldName)) {
+                    Map metadata = reader.readMap(reader1 -> reader1.getString());
+                    deserializedUpdateRunRequest.metadata = metadata;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedUpdateRunRequest;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateThreadRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateThreadRequest.java
index 565b1cf1c332..0d4cf7cf13b3 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateThreadRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UpdateThreadRequest.java
@@ -5,22 +5,23 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * The UpdateThreadRequest model.
  */
 @Fluent
-public final class UpdateThreadRequest {
+public final class UpdateThreadRequest implements JsonSerializable {
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -31,9 +32,7 @@ public UpdateThreadRequest() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -43,9 +42,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the UpdateThreadRequest object itself.
@@ -55,4 +52,40 @@ public UpdateThreadRequest setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of UpdateThreadRequest from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of UpdateThreadRequest if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the UpdateThreadRequest.
+     */
+    @Generated
+    public static UpdateThreadRequest fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            UpdateThreadRequest deserializedUpdateThreadRequest = new UpdateThreadRequest();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("metadata".equals(fieldName)) {
+                    Map metadata = reader.readMap(reader1 -> reader1.getString());
+                    deserializedUpdateThreadRequest.metadata = metadata;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedUpdateThreadRequest;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UploadFileRequest.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UploadFileRequest.java
index 9ea29f5e994d..e7523507c91a 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UploadFileRequest.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/implementation/models/UploadFileRequest.java
@@ -18,13 +18,13 @@ public final class UploadFileRequest {
      * The file data (not filename) to upload.
      */
     @Generated
-    private FileDetails file;
+    private final FileDetails file;
 
     /*
      * The intended purpose of the file.
      */
     @Generated
-    private FilePurpose purpose;
+    private final FilePurpose purpose;
 
     /*
      * A filename to associate with the uploaded data.
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/Assistant.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/Assistant.java
index 2cbae3a16986..e2c74f2f461b 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/Assistant.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/Assistant.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
@@ -17,79 +20,67 @@
  * Represents an assistant that can call the model and use tools.
  */
 @Immutable
-public final class Assistant {
+public final class Assistant implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always assistant.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "assistant";
+    private final String object = "assistant";
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The name of the assistant.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * The description of the assistant.
      */
     @Generated
-    @JsonProperty(value = "description")
-    private String description;
+    private final String description;
 
     /*
      * The ID of the model to use.
      */
     @Generated
-    @JsonProperty(value = "model")
-    private String model;
+    private final String model;
 
     /*
      * The system instructions for the assistant to use.
      */
     @Generated
-    @JsonProperty(value = "instructions")
-    private String instructions;
+    private final String instructions;
 
     /*
      * The collection of tools enabled for the assistant.
      */
     @Generated
-    @JsonProperty(value = "tools")
-    private List tools;
+    private final List tools;
 
     /*
      * A list of attached file IDs, ordered by creation date in ascending order.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
-    private List fileIds;
+    private final List fileIds;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
-    private Map metadata;
+    private final Map metadata;
 
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
@@ -182,9 +173,7 @@ public List getFileIds() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -220,15 +209,72 @@ private Assistant(String id, OffsetDateTime createdAt, String name, String descr
         this.metadata = metadata;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("model", this.model);
+        jsonWriter.writeStringField("instructions", this.instructions);
+        jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Assistant from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Assistant if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Assistant.
+     */
     @Generated
-    @JsonCreator
-    private Assistant(@JsonProperty(value = "id") String id, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "name") String name, @JsonProperty(value = "description") String description,
-        @JsonProperty(value = "model") String model, @JsonProperty(value = "instructions") String instructions,
-        @JsonProperty(value = "tools") List tools,
-        @JsonProperty(value = "file_ids") List fileIds,
-        @JsonProperty(value = "metadata") Map metadata) {
-        this(id, OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), name, description, model,
-            instructions, tools, fileIds, metadata);
+    public static Assistant fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            OffsetDateTime createdAt = null;
+            String name = null;
+            String description = null;
+            String model = null;
+            String instructions = null;
+            List tools = null;
+            List fileIds = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("model".equals(fieldName)) {
+                    model = reader.getString();
+                } else if ("instructions".equals(fieldName)) {
+                    instructions = reader.getString();
+                } else if ("tools".equals(fieldName)) {
+                    tools = reader.readArray(reader1 -> ToolDefinition.fromJson(reader1));
+                } else if ("file_ids".equals(fieldName)) {
+                    fileIds = reader.readArray(reader1 -> reader1.getString());
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new Assistant(id, createdAt, name, description, model, instructions, tools, fileIds, metadata);
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantCreationOptions.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantCreationOptions.java
index 86767512f5bb..bae233c6ffff 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantCreationOptions.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantCreationOptions.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,57 +17,48 @@
  * The request details to use when creating a new assistant.
  */
 @Fluent
-public final class AssistantCreationOptions {
+public final class AssistantCreationOptions implements JsonSerializable {
 
     /*
      * The ID of the model to use.
      */
     @Generated
-    @JsonProperty(value = "model")
-    private String model;
+    private final String model;
 
     /*
      * The name of the new assistant.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The description of the new assistant.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The system instructions for the new assistant to use.
      */
     @Generated
-    @JsonProperty(value = "instructions")
     private String instructions;
 
     /*
      * The collection of tools to enable for the new assistant.
      */
     @Generated
-    @JsonProperty(value = "tools")
     private List tools;
 
     /*
      * A list of previously uploaded file IDs to attach to the assistant.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
     private List fileIds;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -73,8 +67,7 @@ public final class AssistantCreationOptions {
      * @param model the model value to set.
      */
     @Generated
-    @JsonCreator
-    public AssistantCreationOptions(@JsonProperty(value = "model") String model) {
+    public AssistantCreationOptions(String model) {
         this.model = model;
     }
 
@@ -199,9 +192,7 @@ public AssistantCreationOptions setFileIds(List fileIds) {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -211,9 +202,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the AssistantCreationOptions object itself.
@@ -223,4 +212,71 @@ public AssistantCreationOptions setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("model", this.model);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("instructions", this.instructions);
+        jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AssistantCreationOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AssistantCreationOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AssistantCreationOptions.
+     */
+    @Generated
+    public static AssistantCreationOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String model = null;
+            String name = null;
+            String description = null;
+            String instructions = null;
+            List tools = null;
+            List fileIds = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("model".equals(fieldName)) {
+                    model = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else if ("instructions".equals(fieldName)) {
+                    instructions = reader.getString();
+                } else if ("tools".equals(fieldName)) {
+                    tools = reader.readArray(reader1 -> ToolDefinition.fromJson(reader1));
+                } else if ("file_ids".equals(fieldName)) {
+                    fileIds = reader.readArray(reader1 -> reader1.getString());
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            AssistantCreationOptions deserializedAssistantCreationOptions = new AssistantCreationOptions(model);
+            deserializedAssistantCreationOptions.name = name;
+            deserializedAssistantCreationOptions.description = description;
+            deserializedAssistantCreationOptions.instructions = instructions;
+            deserializedAssistantCreationOptions.tools = tools;
+            deserializedAssistantCreationOptions.fileIds = fileIds;
+            deserializedAssistantCreationOptions.metadata = metadata;
+            return deserializedAssistantCreationOptions;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantDeletionStatus.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantDeletionStatus.java
index e963bd399bed..cd195cf9c0b2 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantDeletionStatus.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantDeletionStatus.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The status of an assistant deletion operation.
  */
 @Immutable
-public final class AssistantDeletionStatus {
+public final class AssistantDeletionStatus implements JsonSerializable {
 
     /*
      * The ID of the resource specified for deletion.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * A value indicating whether deletion was successful.
      */
     @Generated
-    @JsonProperty(value = "deleted")
-    private boolean deleted;
+    private final boolean deleted;
 
     /*
      * The object type, which is always 'assistant.deleted'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "assistant.deleted";
+    private final String object = "assistant.deleted";
 
     /**
      * Creates an instance of AssistantDeletionStatus class.
@@ -42,9 +42,7 @@ public final class AssistantDeletionStatus {
      * @param deleted the deleted value to set.
      */
     @Generated
-    @JsonCreator
-    private AssistantDeletionStatus(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "deleted") boolean deleted) {
+    private AssistantDeletionStatus(String id, boolean deleted) {
         this.id = id;
         this.deleted = deleted;
     }
@@ -78,4 +76,45 @@ public boolean isDeleted() {
     public String getObject() {
         return this.object;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeBooleanField("deleted", this.deleted);
+        jsonWriter.writeStringField("object", this.object);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AssistantDeletionStatus from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AssistantDeletionStatus if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AssistantDeletionStatus.
+     */
+    @Generated
+    public static AssistantDeletionStatus fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            boolean deleted = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("deleted".equals(fieldName)) {
+                    deleted = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AssistantDeletionStatus(id, deleted);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFile.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFile.java
index 4351c765aa64..6ddfc7116f29 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFile.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFile.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
@@ -15,35 +18,31 @@
  * Information about a file attached to an assistant, as used by tools that can read files.
  */
 @Immutable
-public final class AssistantFile {
+public final class AssistantFile implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always 'assistant.file'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "assistant.file";
+    private final String object = "assistant.file";
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The assistant ID that the file is attached to.
      */
     @Generated
-    @JsonProperty(value = "assistant_id")
-    private String assistantId;
+    private final String assistantId;
 
     /**
      * Creates an instance of AssistantFile class.
@@ -59,13 +58,6 @@ private AssistantFile(String id, OffsetDateTime createdAt, String assistantId) {
         this.assistantId = assistantId;
     }
 
-    @Generated
-    @JsonCreator
-    private AssistantFile(@JsonProperty(value = "id") String id, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "assistant_id") String assistantId) {
-        this(id, OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), assistantId);
-    }
-
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
      *
@@ -105,4 +97,49 @@ public OffsetDateTime getCreatedAt() {
     public String getAssistantId() {
         return this.assistantId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("assistant_id", this.assistantId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AssistantFile from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AssistantFile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AssistantFile.
+     */
+    @Generated
+    public static AssistantFile fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            OffsetDateTime createdAt = null;
+            String assistantId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("assistant_id".equals(fieldName)) {
+                    assistantId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AssistantFile(id, createdAt, assistantId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFileDeletionStatus.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFileDeletionStatus.java
index 6edb7880e932..3bbc5349b4f3 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFileDeletionStatus.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantFileDeletionStatus.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The status of an assistant file deletion operation.
  */
 @Immutable
-public final class AssistantFileDeletionStatus {
+public final class AssistantFileDeletionStatus implements JsonSerializable {
 
     /*
      * The ID of the resource specified for deletion.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * A value indicating whether deletion was successful.
      */
     @Generated
-    @JsonProperty(value = "deleted")
-    private boolean deleted;
+    private final boolean deleted;
 
     /*
      * The object type, which is always 'assistant.file.deleted'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "assistant.file.deleted";
+    private final String object = "assistant.file.deleted";
 
     /**
      * Creates an instance of AssistantFileDeletionStatus class.
@@ -42,9 +42,7 @@ public final class AssistantFileDeletionStatus {
      * @param deleted the deleted value to set.
      */
     @Generated
-    @JsonCreator
-    private AssistantFileDeletionStatus(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "deleted") boolean deleted) {
+    private AssistantFileDeletionStatus(String id, boolean deleted) {
         this.id = id;
         this.deleted = deleted;
     }
@@ -78,4 +76,45 @@ public boolean isDeleted() {
     public String getObject() {
         return this.object;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeBooleanField("deleted", this.deleted);
+        jsonWriter.writeStringField("object", this.object);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AssistantFileDeletionStatus from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AssistantFileDeletionStatus if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AssistantFileDeletionStatus.
+     */
+    @Generated
+    public static AssistantFileDeletionStatus fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            boolean deleted = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("deleted".equals(fieldName)) {
+                    deleted = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AssistantFileDeletionStatus(id, deleted);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThread.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThread.java
index 685d8a2345c9..b318ccb6915a 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThread.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThread.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
@@ -16,37 +19,31 @@
  * Information about a single thread associated with an assistant.
  */
 @Immutable
-public final class AssistantThread {
+public final class AssistantThread implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always 'thread'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "thread";
+    private final String object = "thread";
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
-    private Map metadata;
+    private final Map metadata;
 
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
@@ -79,9 +76,7 @@ public OffsetDateTime getCreatedAt() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -104,10 +99,48 @@ private AssistantThread(String id, OffsetDateTime createdAt, Map
         this.metadata = metadata;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AssistantThread from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AssistantThread if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the AssistantThread.
+     */
     @Generated
-    @JsonCreator
-    private AssistantThread(@JsonProperty(value = "id") String id, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "metadata") Map metadata) {
-        this(id, OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), metadata);
+    public static AssistantThread fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            OffsetDateTime createdAt = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new AssistantThread(id, createdAt, metadata);
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThreadCreationOptions.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThreadCreationOptions.java
index 18dfb003b376..20386825d0e6 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThreadCreationOptions.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/AssistantThreadCreationOptions.java
@@ -5,7 +5,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -13,22 +17,18 @@
  * The details used to create a new assistant thread.
  */
 @Fluent
-public final class AssistantThreadCreationOptions {
+public final class AssistantThreadCreationOptions implements JsonSerializable {
 
     /*
      * The initial messages to associate with the new thread.
      */
     @Generated
-    @JsonProperty(value = "messages")
     private List messages;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -61,9 +61,7 @@ public AssistantThreadCreationOptions setMessages(List getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the AssistantThreadCreationOptions object itself.
@@ -85,4 +81,46 @@ public AssistantThreadCreationOptions setMetadata(Map metadata)
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("messages", this.messages, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AssistantThreadCreationOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AssistantThreadCreationOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AssistantThreadCreationOptions.
+     */
+    @Generated
+    public static AssistantThreadCreationOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AssistantThreadCreationOptions deserializedAssistantThreadCreationOptions
+                = new AssistantThreadCreationOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("messages".equals(fieldName)) {
+                    List messages
+                        = reader.readArray(reader1 -> ThreadInitializationMessage.fromJson(reader1));
+                    deserializedAssistantThreadCreationOptions.messages = messages;
+                } else if ("metadata".equals(fieldName)) {
+                    Map metadata = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAssistantThreadCreationOptions.metadata = metadata;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedAssistantThreadCreationOptions;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CodeInterpreterToolDefinition.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CodeInterpreterToolDefinition.java
index 9b910222fba3..a1139e812071 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CodeInterpreterToolDefinition.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CodeInterpreterToolDefinition.java
@@ -5,14 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The input definition information for a code interpreter tool as used to configure an assistant.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("code_interpreter")
 @Immutable
 public final class CodeInterpreterToolDefinition extends ToolDefinition {
 
@@ -21,5 +21,42 @@ public final class CodeInterpreterToolDefinition extends ToolDefinition {
      */
     @Generated
     public CodeInterpreterToolDefinition() {
+        setType("code_interpreter");
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CodeInterpreterToolDefinition from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CodeInterpreterToolDefinition if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the CodeInterpreterToolDefinition.
+     */
+    @Generated
+    public static CodeInterpreterToolDefinition fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            CodeInterpreterToolDefinition deserializedCodeInterpreterToolDefinition
+                = new CodeInterpreterToolDefinition();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedCodeInterpreterToolDefinition.setType(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedCodeInterpreterToolDefinition;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateAndRunThreadOptions.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateAndRunThreadOptions.java
index 79db329f2ede..dcdd0828ab2a 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateAndRunThreadOptions.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateAndRunThreadOptions.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,50 +17,42 @@
  * The details used when creating and immediately running a new assistant thread.
  */
 @Fluent
-public final class CreateAndRunThreadOptions {
+public final class CreateAndRunThreadOptions implements JsonSerializable {
 
     /*
      * The ID of the assistant for which the thread should be created.
      */
     @Generated
-    @JsonProperty(value = "assistant_id")
-    private String assistantId;
+    private final String assistantId;
 
     /*
      * The details used to create the new thread.
      */
     @Generated
-    @JsonProperty(value = "thread")
     private AssistantThreadCreationOptions thread;
 
     /*
      * The overridden model that the assistant should use to run the thread.
      */
     @Generated
-    @JsonProperty(value = "model")
     private String model;
 
     /*
      * The overridden system instructions the assistant should use to run the thread.
      */
     @Generated
-    @JsonProperty(value = "instructions")
     private String instructions;
 
     /*
      * The overridden list of enabled tools the assistant should use to run the thread.
      */
     @Generated
-    @JsonProperty(value = "tools")
     private List tools;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -66,8 +61,7 @@ public final class CreateAndRunThreadOptions {
      * @param assistantId the assistantId value to set.
      */
     @Generated
-    @JsonCreator
-    public CreateAndRunThreadOptions(@JsonProperty(value = "assistant_id") String assistantId) {
+    public CreateAndRunThreadOptions(String assistantId) {
         this.assistantId = assistantId;
     }
 
@@ -170,9 +164,7 @@ public CreateAndRunThreadOptions setTools(List tools) {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -182,9 +174,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the CreateAndRunThreadOptions object itself.
@@ -194,4 +184,67 @@ public CreateAndRunThreadOptions setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("assistant_id", this.assistantId);
+        jsonWriter.writeJsonField("thread", this.thread);
+        jsonWriter.writeStringField("model", this.model);
+        jsonWriter.writeStringField("instructions", this.instructions);
+        jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CreateAndRunThreadOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CreateAndRunThreadOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CreateAndRunThreadOptions.
+     */
+    @Generated
+    public static CreateAndRunThreadOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String assistantId = null;
+            AssistantThreadCreationOptions thread = null;
+            String model = null;
+            String instructions = null;
+            List tools = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("assistant_id".equals(fieldName)) {
+                    assistantId = reader.getString();
+                } else if ("thread".equals(fieldName)) {
+                    thread = AssistantThreadCreationOptions.fromJson(reader);
+                } else if ("model".equals(fieldName)) {
+                    model = reader.getString();
+                } else if ("instructions".equals(fieldName)) {
+                    instructions = reader.getString();
+                } else if ("tools".equals(fieldName)) {
+                    tools = reader.readArray(reader1 -> ToolDefinition.fromJson(reader1));
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            CreateAndRunThreadOptions deserializedCreateAndRunThreadOptions
+                = new CreateAndRunThreadOptions(assistantId);
+            deserializedCreateAndRunThreadOptions.thread = thread;
+            deserializedCreateAndRunThreadOptions.model = model;
+            deserializedCreateAndRunThreadOptions.instructions = instructions;
+            deserializedCreateAndRunThreadOptions.tools = tools;
+            deserializedCreateAndRunThreadOptions.metadata = metadata;
+            return deserializedCreateAndRunThreadOptions;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateRunOptions.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateRunOptions.java
index a1cfe5967f57..c54a7cbea08f 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateRunOptions.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/CreateRunOptions.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,52 +17,43 @@
  * The details used when creating a new run of an assistant thread.
  */
 @Fluent
-public final class CreateRunOptions {
+public final class CreateRunOptions implements JsonSerializable {
 
     /*
      * The ID of the assistant that should run the thread.
      */
     @Generated
-    @JsonProperty(value = "assistant_id")
-    private String assistantId;
+    private final String assistantId;
 
     /*
      * The overridden model name that the assistant should use to run the thread.
      */
     @Generated
-    @JsonProperty(value = "model")
     private String model;
 
     /*
      * The overridden system instructions that the assistant should use to run the thread.
      */
     @Generated
-    @JsonProperty(value = "instructions")
     private String instructions;
 
     /*
-     * Additional instructions to append at the end of the instructions for the run. This is useful for modifying the
-     * behavior
+     * Additional instructions to append at the end of the instructions for the run. This is useful for modifying the behavior
      * on a per-run basis without overriding other instructions.
      */
     @Generated
-    @JsonProperty(value = "additional_instructions")
     private String additionalInstructions;
 
     /*
      * The overridden list of enabled tools that the assistant should use to run the thread.
      */
     @Generated
-    @JsonProperty(value = "tools")
     private List tools;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -95,8 +89,7 @@ public CreateRunOptions setModel(String model) {
     }
 
     /**
-     * Get the instructions property: The overridden system instructions that the assistant should use to run the
-     * thread.
+     * Get the instructions property: The overridden system instructions that the assistant should use to run the thread.
      *
      * @return the instructions value.
      */
@@ -106,8 +99,7 @@ public String getInstructions() {
     }
 
     /**
-     * Set the instructions property: The overridden system instructions that the assistant should use to run the
-     * thread.
+     * Set the instructions property: The overridden system instructions that the assistant should use to run the thread.
      *
      * @param instructions the instructions value to set.
      * @return the CreateRunOptions object itself.
@@ -119,8 +111,7 @@ public CreateRunOptions setInstructions(String instructions) {
     }
 
     /**
-     * Get the additionalInstructions property: Additional instructions to append at the end of the instructions for
-     * the run. This is useful for modifying the behavior
+     * Get the additionalInstructions property: Additional instructions to append at the end of the instructions for the run. This is useful for modifying the behavior
      * on a per-run basis without overriding other instructions.
      *
      * @return the additionalInstructions value.
@@ -153,9 +144,7 @@ public CreateRunOptions setTools(List tools) {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -165,9 +154,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the CreateRunOptions object itself.
@@ -184,14 +171,12 @@ public CreateRunOptions setMetadata(Map metadata) {
      * @param assistantId the assistantId value to set.
      */
     @Generated
-    @JsonCreator
-    public CreateRunOptions(@JsonProperty(value = "assistant_id") String assistantId) {
+    public CreateRunOptions(String assistantId) {
         this.assistantId = assistantId;
     }
 
     /**
-     * Set the additionalInstructions property: Additional instructions to append at the end of the instructions for
-     * the run. This is useful for modifying the behavior
+     * Set the additionalInstructions property: Additional instructions to append at the end of the instructions for the run. This is useful for modifying the behavior
      * on a per-run basis without overriding other instructions.
      *
      * @param additionalInstructions the additionalInstructions value to set.
@@ -202,4 +187,66 @@ public CreateRunOptions setAdditionalInstructions(String additionalInstructions)
         this.additionalInstructions = additionalInstructions;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("assistant_id", this.assistantId);
+        jsonWriter.writeStringField("model", this.model);
+        jsonWriter.writeStringField("instructions", this.instructions);
+        jsonWriter.writeStringField("additional_instructions", this.additionalInstructions);
+        jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CreateRunOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CreateRunOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CreateRunOptions.
+     */
+    @Generated
+    public static CreateRunOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String assistantId = null;
+            String model = null;
+            String instructions = null;
+            String additionalInstructions = null;
+            List tools = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("assistant_id".equals(fieldName)) {
+                    assistantId = reader.getString();
+                } else if ("model".equals(fieldName)) {
+                    model = reader.getString();
+                } else if ("instructions".equals(fieldName)) {
+                    instructions = reader.getString();
+                } else if ("additional_instructions".equals(fieldName)) {
+                    additionalInstructions = reader.getString();
+                } else if ("tools".equals(fieldName)) {
+                    tools = reader.readArray(reader1 -> ToolDefinition.fromJson(reader1));
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            CreateRunOptions deserializedCreateRunOptions = new CreateRunOptions(assistantId);
+            deserializedCreateRunOptions.model = model;
+            deserializedCreateRunOptions.instructions = instructions;
+            deserializedCreateRunOptions.additionalInstructions = additionalInstructions;
+            deserializedCreateRunOptions.tools = tools;
+            deserializedCreateRunOptions.metadata = metadata;
+            return deserializedCreateRunOptions;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDeletionStatus.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDeletionStatus.java
index 427c98a9dcc1..0ee3c7fc123e 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDeletionStatus.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDeletionStatus.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A status response from a file deletion operation.
  */
 @Immutable
-public final class FileDeletionStatus {
+public final class FileDeletionStatus implements JsonSerializable {
 
     /*
      * The ID of the resource specified for deletion.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * A value indicating whether deletion was successful.
      */
     @Generated
-    @JsonProperty(value = "deleted")
-    private boolean deleted;
+    private final boolean deleted;
 
     /*
      * The object type, which is always 'file'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "file";
+    private final String object = "file";
 
     /**
      * Creates an instance of FileDeletionStatus class.
@@ -42,9 +42,7 @@ public final class FileDeletionStatus {
      * @param deleted the deleted value to set.
      */
     @Generated
-    @JsonCreator
-    private FileDeletionStatus(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "deleted") boolean deleted) {
+    private FileDeletionStatus(String id, boolean deleted) {
         this.id = id;
         this.deleted = deleted;
     }
@@ -78,4 +76,45 @@ public boolean isDeleted() {
     public String getObject() {
         return this.object;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeBooleanField("deleted", this.deleted);
+        jsonWriter.writeStringField("object", this.object);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of FileDeletionStatus from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of FileDeletionStatus if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the FileDeletionStatus.
+     */
+    @Generated
+    public static FileDeletionStatus fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            boolean deleted = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("deleted".equals(fieldName)) {
+                    deleted = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new FileDeletionStatus(id, deleted);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDetails.java
index b2580b247e5b..a0a1e1c5d9b7 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FileDetails.java
@@ -8,25 +8,25 @@
 import com.azure.core.util.BinaryData;
 
 /**
- * The file details model for the file.
+ * The file details for the "file" field.
  */
 @Fluent
 public final class FileDetails {
 
     /*
-     * The content of the file
+     * The content of the file.
      */
     @Generated
-    private BinaryData content;
+    private final BinaryData content;
 
     /*
-     * The filename of the file
+     * The filename of the file.
      */
     @Generated
     private String filename;
 
     /*
-     * The content-type of the file
+     * The content-type of the file.
      */
     @Generated
     private String contentType = "application/octet-stream";
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FilePurpose.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FilePurpose.java
index 25fa4075ab03..cf5e66446e38 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FilePurpose.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FilePurpose.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public FilePurpose() {
      * @return the corresponding FilePurpose.
      */
     @Generated
-    @JsonCreator
     public static FilePurpose fromString(String name) {
         return fromString(name, FilePurpose.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionDefinition.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionDefinition.java
index 9609dcb3586a..0bebb08c397b 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionDefinition.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionDefinition.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The input definition information for a function.
  */
 @Fluent
-public final class FunctionDefinition {
+public final class FunctionDefinition implements JsonSerializable {
 
     /*
      * The name of the function to be called.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * A description of what the function does, used by the model to choose when and how to call the function.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The parameters the functions accepts, described as a JSON Schema object.
      */
     @Generated
-    @JsonProperty(value = "parameters")
-    private Object parameters;
+    private final Object parameters;
 
     /**
      * Get the name property: The name of the function to be called.
@@ -46,8 +46,7 @@ public String getName() {
     }
 
     /**
-     * Get the description property: A description of what the function does, used by the model to choose when and how
-     * to call the function.
+     * Get the description property: A description of what the function does, used by the model to choose when and how to call the function.
      *
      * @return the description value.
      */
@@ -73,16 +72,13 @@ public Object getParameters() {
      * @param parameters the parameters value to set.
      */
     @Generated
-    @JsonCreator
-    public FunctionDefinition(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "parameters") Object parameters) {
+    public FunctionDefinition(String name, Object parameters) {
         this.name = name;
         this.parameters = parameters;
     }
 
     /**
-     * Set the description property: A description of what the function does, used by the model to choose when and how
-     * to call the function.
+     * Set the description property: A description of what the function does, used by the model to choose when and how to call the function.
      *
      * @param description the description value to set.
      * @return the FunctionDefinition object itself.
@@ -92,4 +88,50 @@ public FunctionDefinition setDescription(String description) {
         this.description = description;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeUntypedField("parameters", this.parameters);
+        jsonWriter.writeStringField("description", this.description);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of FunctionDefinition from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of FunctionDefinition if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the FunctionDefinition.
+     */
+    @Generated
+    public static FunctionDefinition fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            Object parameters = null;
+            String description = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("parameters".equals(fieldName)) {
+                    parameters = reader.readUntyped();
+                } else if ("description".equals(fieldName)) {
+                    description = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            FunctionDefinition deserializedFunctionDefinition = new FunctionDefinition(name, parameters);
+            deserializedFunctionDefinition.description = description;
+            return deserializedFunctionDefinition;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionToolDefinition.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionToolDefinition.java
index 8507974de36a..2e0d4377a02a 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionToolDefinition.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/FunctionToolDefinition.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The input definition information for a function tool as used to configure an assistant.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("function")
 @Immutable
 public final class FunctionToolDefinition extends ToolDefinition {
 
@@ -22,8 +20,7 @@ public final class FunctionToolDefinition extends ToolDefinition {
      * The definition of the concrete function that the function tool should call.
      */
     @Generated
-    @JsonProperty(value = "function")
-    private FunctionDefinition function;
+    private final FunctionDefinition function;
 
     /**
      * Creates an instance of FunctionToolDefinition class.
@@ -31,8 +28,8 @@ public final class FunctionToolDefinition extends ToolDefinition {
      * @param function the function value to set.
      */
     @Generated
-    @JsonCreator
-    public FunctionToolDefinition(@JsonProperty(value = "function") FunctionDefinition function) {
+    public FunctionToolDefinition(FunctionDefinition function) {
+        setType("function");
         this.function = function;
     }
 
@@ -45,4 +42,46 @@ public FunctionToolDefinition(@JsonProperty(value = "function") FunctionDefiniti
     public FunctionDefinition getFunction() {
         return this.function;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("function", this.function);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of FunctionToolDefinition from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of FunctionToolDefinition if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the FunctionToolDefinition.
+     */
+    @Generated
+    public static FunctionToolDefinition fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String type = "function";
+            FunctionDefinition function = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("function".equals(fieldName)) {
+                    function = FunctionDefinition.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            FunctionToolDefinition deserializedFunctionToolDefinition = new FunctionToolDefinition(function);
+            deserializedFunctionToolDefinition.setType(type);
+            return deserializedFunctionToolDefinition;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ListSortOrder.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ListSortOrder.java
index 2dafc6c8bded..39d6b7674639 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ListSortOrder.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ListSortOrder.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public ListSortOrder() {
      * @return the corresponding ListSortOrder.
      */
     @Generated
-    @JsonCreator
     public static ListSortOrder fromString(String name) {
         return fromString(name, ListSortOrder.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageContent.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageContent.java
index 833d8e4584ef..ffea5cbab2ea 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageContent.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageContent.java
@@ -5,29 +5,115 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of a single item of thread message content.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = MessageContent.class)
-@JsonTypeName("MessageContent")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "text", value = MessageTextContent.class),
-    @JsonSubTypes.Type(name = "image_file", value = MessageImageFileContent.class) })
 @Immutable
-public class MessageContent {
+public class MessageContent implements JsonSerializable {
 
     /**
      * Creates an instance of MessageContent class.
      */
     @Generated
     protected MessageContent() {
+        this.type = "MessageContent";
+    }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the MessageContent object itself.
+     */
+    @Generated
+    protected MessageContent setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageContent from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageContent if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the MessageContent.
+     */
+    @Generated
+    public static MessageContent fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("text".equals(discriminatorValue)) {
+                    return MessageTextContent.fromJson(readerToUse.reset());
+                } else if ("image_file".equals(discriminatorValue)) {
+                    return MessageImageFileContent.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static MessageContent fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            MessageContent deserializedMessageContent = new MessageContent();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedMessageContent.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedMessageContent;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageFile.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageFile.java
index d94710138f6c..3a409d97df6e 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageFile.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageFile.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
@@ -15,35 +18,31 @@
  * Information about a file attached to an assistant thread message.
  */
 @Immutable
-public final class MessageFile {
+public final class MessageFile implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always 'thread.message.file'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "thread.message.file";
+    private final String object = "thread.message.file";
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The ID of the message that this file is attached to.
      */
     @Generated
-    @JsonProperty(value = "message_id")
-    private String messageId;
+    private final String messageId;
 
     /**
      * Creates an instance of MessageFile class.
@@ -59,13 +58,6 @@ private MessageFile(String id, OffsetDateTime createdAt, String messageId) {
         this.messageId = messageId;
     }
 
-    @Generated
-    @JsonCreator
-    private MessageFile(@JsonProperty(value = "id") String id, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "message_id") String messageId) {
-        this(id, OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), messageId);
-    }
-
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
      *
@@ -105,4 +97,49 @@ public OffsetDateTime getCreatedAt() {
     public String getMessageId() {
         return this.messageId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("message_id", this.messageId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageFile from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageFile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageFile.
+     */
+    @Generated
+    public static MessageFile fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            OffsetDateTime createdAt = null;
+            String messageId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("message_id".equals(fieldName)) {
+                    messageId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new MessageFile(id, createdAt, messageId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileContent.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileContent.java
index 03128041d803..2798c38da9bd 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileContent.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileContent.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A representation of image file content in a thread message.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("image_file")
 @Immutable
 public final class MessageImageFileContent extends MessageContent {
 
@@ -22,8 +20,7 @@ public final class MessageImageFileContent extends MessageContent {
      * The image file for this thread message content item.
      */
     @Generated
-    @JsonProperty(value = "image_file")
-    private MessageImageFileDetails imageFile;
+    private final MessageImageFileDetails imageFile;
 
     /**
      * Creates an instance of MessageImageFileContent class.
@@ -31,8 +28,8 @@ public final class MessageImageFileContent extends MessageContent {
      * @param imageFile the imageFile value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageImageFileContent(@JsonProperty(value = "image_file") MessageImageFileDetails imageFile) {
+    private MessageImageFileContent(MessageImageFileDetails imageFile) {
+        setType("image_file");
         this.imageFile = imageFile;
     }
 
@@ -45,4 +42,46 @@ private MessageImageFileContent(@JsonProperty(value = "image_file") MessageImage
     public MessageImageFileDetails getImageFile() {
         return this.imageFile;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("image_file", this.imageFile);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageImageFileContent from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageImageFileContent if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageImageFileContent.
+     */
+    @Generated
+    public static MessageImageFileContent fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String type = "image_file";
+            MessageImageFileDetails imageFile = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("image_file".equals(fieldName)) {
+                    imageFile = MessageImageFileDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            MessageImageFileContent deserializedMessageImageFileContent = new MessageImageFileContent(imageFile);
+            deserializedMessageImageFileContent.setType(type);
+            return deserializedMessageImageFileContent;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileDetails.java
index 795447705b69..07a979d4c920 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileDetails.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An image reference, as represented in thread message content.
  */
 @Immutable
-public final class MessageImageFileDetails {
+public final class MessageImageFileDetails implements JsonSerializable {
 
     /*
      * The ID for the file associated with this image.
      */
     @Generated
-    @JsonProperty(value = "file_id")
-    private MessageImageFileIdDetails fileId;
+    private final MessageImageFileIdDetails fileId;
 
     /**
      * Creates an instance of MessageImageFileDetails class.
@@ -27,8 +29,7 @@ public final class MessageImageFileDetails {
      * @param fileId the fileId value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageImageFileDetails(@JsonProperty(value = "file_id") MessageImageFileIdDetails fileId) {
+    private MessageImageFileDetails(MessageImageFileIdDetails fileId) {
         this.fileId = fileId;
     }
 
@@ -41,4 +42,40 @@ private MessageImageFileDetails(@JsonProperty(value = "file_id") MessageImageFil
     public MessageImageFileIdDetails getFileId() {
         return this.fileId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("file_id", this.fileId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageImageFileDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageImageFileDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageImageFileDetails.
+     */
+    @Generated
+    public static MessageImageFileDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            MessageImageFileIdDetails fileId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("file_id".equals(fieldName)) {
+                    fileId = MessageImageFileIdDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new MessageImageFileDetails(fileId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileIdDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileIdDetails.java
index 2797af48ffe2..a8a0564701e7 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileIdDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageImageFileIdDetails.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An encapsulation of an image file ID, as used by message image content.
  */
 @Immutable
-public final class MessageImageFileIdDetails {
+public final class MessageImageFileIdDetails implements JsonSerializable {
 
     /*
      * The ID of the specific image file.
      */
     @Generated
-    @JsonProperty(value = "file_id")
-    private String fileId;
+    private final String fileId;
 
     /**
      * Creates an instance of MessageImageFileIdDetails class.
@@ -27,8 +29,7 @@ public final class MessageImageFileIdDetails {
      * @param fileId the fileId value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageImageFileIdDetails(@JsonProperty(value = "file_id") String fileId) {
+    private MessageImageFileIdDetails(String fileId) {
         this.fileId = fileId;
     }
 
@@ -41,4 +42,40 @@ private MessageImageFileIdDetails(@JsonProperty(value = "file_id") String fileId
     public String getFileId() {
         return this.fileId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("file_id", this.fileId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageImageFileIdDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageImageFileIdDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageImageFileIdDetails.
+     */
+    @Generated
+    public static MessageImageFileIdDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String fileId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("file_id".equals(fieldName)) {
+                    fileId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new MessageImageFileIdDetails(fileId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageRole.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageRole.java
index 00c7d3c92b6e..9e8dea6a2a8c 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageRole.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageRole.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public MessageRole() {
      * @return the corresponding MessageRole.
      */
     @Generated
-    @JsonCreator
     public static MessageRole fromString(String name) {
         return fromString(name, MessageRole.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextAnnotation.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextAnnotation.java
index 3bf4aa52e5d0..28e796efbe95 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextAnnotation.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextAnnotation.java
@@ -5,47 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of an annotation to text thread message content.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = MessageTextAnnotation.class)
-@JsonTypeName("MessageTextAnnotation")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "file_citation", value = MessageTextFileCitationAnnotation.class),
-    @JsonSubTypes.Type(name = "file_path", value = MessageTextFilePathAnnotation.class) })
 @Immutable
-public class MessageTextAnnotation {
+public class MessageTextAnnotation implements JsonSerializable {
 
     /*
      * The textual content associated with this text annotation item.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
      * The first text index associated with this text annotation.
      */
     @Generated
-    @JsonProperty(value = "start_index")
-    private int startIndex;
+    private final int startIndex;
 
     /*
      * The last text index associated with this text annotation.
      */
     @Generated
-    @JsonProperty(value = "end_index")
-    private int endIndex;
+    private final int endIndex;
 
     /**
      * Creates an instance of MessageTextAnnotation class.
@@ -55,9 +43,8 @@ public class MessageTextAnnotation {
      * @param endIndex the endIndex value to set.
      */
     @Generated
-    @JsonCreator
-    protected MessageTextAnnotation(@JsonProperty(value = "text") String text,
-        @JsonProperty(value = "start_index") int startIndex, @JsonProperty(value = "end_index") int endIndex) {
+    protected MessageTextAnnotation(String text, int startIndex, int endIndex) {
+        this.type = "MessageTextAnnotation";
         this.text = text;
         this.startIndex = startIndex;
         this.endIndex = endIndex;
@@ -92,4 +79,112 @@ public int getStartIndex() {
     public int getEndIndex() {
         return this.endIndex;
     }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the MessageTextAnnotation object itself.
+     */
+    @Generated
+    protected MessageTextAnnotation setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeIntField("start_index", this.startIndex);
+        jsonWriter.writeIntField("end_index", this.endIndex);
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextAnnotation from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextAnnotation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextAnnotation.
+     */
+    @Generated
+    public static MessageTextAnnotation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("file_citation".equals(discriminatorValue)) {
+                    return MessageTextFileCitationAnnotation.fromJson(readerToUse.reset());
+                } else if ("file_path".equals(discriminatorValue)) {
+                    return MessageTextFilePathAnnotation.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static MessageTextAnnotation fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            int startIndex = 0;
+            int endIndex = 0;
+            String type = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("start_index".equals(fieldName)) {
+                    startIndex = reader.getInt();
+                } else if ("end_index".equals(fieldName)) {
+                    endIndex = reader.getInt();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            MessageTextAnnotation deserializedMessageTextAnnotation
+                = new MessageTextAnnotation(text, startIndex, endIndex);
+            deserializedMessageTextAnnotation.type = type;
+            return deserializedMessageTextAnnotation;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextContent.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextContent.java
index 6917b1767fb2..6a81058d5871 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextContent.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextContent.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A representation of a textual item of thread message content.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("text")
 @Immutable
 public final class MessageTextContent extends MessageContent {
 
@@ -22,8 +20,7 @@ public final class MessageTextContent extends MessageContent {
      * The text and associated annotations for this thread message content item.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private MessageTextDetails text;
+    private final MessageTextDetails text;
 
     /**
      * Creates an instance of MessageTextContent class.
@@ -31,8 +28,8 @@ public final class MessageTextContent extends MessageContent {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageTextContent(@JsonProperty(value = "text") MessageTextDetails text) {
+    private MessageTextContent(MessageTextDetails text) {
+        setType("text");
         this.text = text;
     }
 
@@ -45,4 +42,46 @@ private MessageTextContent(@JsonProperty(value = "text") MessageTextDetails text
     public MessageTextDetails getText() {
         return this.text;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("text", this.text);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextContent from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextContent if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextContent.
+     */
+    @Generated
+    public static MessageTextContent fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String type = "text";
+            MessageTextDetails text = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("text".equals(fieldName)) {
+                    text = MessageTextDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            MessageTextContent deserializedMessageTextContent = new MessageTextContent(text);
+            deserializedMessageTextContent.setType(type);
+            return deserializedMessageTextContent;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextDetails.java
index c3e502c1d2ef..2840d75e6fd8 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextDetails.java
@@ -5,29 +5,30 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The text and associated annotations for a single item of assistant thread message content.
  */
 @Immutable
-public final class MessageTextDetails {
+public final class MessageTextDetails implements JsonSerializable {
 
     /*
      * The text data.
      */
     @Generated
-    @JsonProperty(value = "value")
-    private String value;
+    private final String value;
 
     /*
      * A list of annotations associated with this text.
      */
     @Generated
-    @JsonProperty(value = "annotations")
-    private List annotations;
+    private final List annotations;
 
     /**
      * Creates an instance of MessageTextDetails class.
@@ -36,9 +37,7 @@ public final class MessageTextDetails {
      * @param annotations the annotations value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageTextDetails(@JsonProperty(value = "value") String value,
-        @JsonProperty(value = "annotations") List annotations) {
+    private MessageTextDetails(String value, List annotations) {
         this.value = value;
         this.annotations = annotations;
     }
@@ -62,4 +61,44 @@ public String getValue() {
     public List getAnnotations() {
         return this.annotations;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("value", this.value);
+        jsonWriter.writeArrayField("annotations", this.annotations, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextDetails.
+     */
+    @Generated
+    public static MessageTextDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String value = null;
+            List annotations = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("value".equals(fieldName)) {
+                    value = reader.getString();
+                } else if ("annotations".equals(fieldName)) {
+                    annotations = reader.readArray(reader1 -> MessageTextAnnotation.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new MessageTextDetails(value, annotations);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationAnnotation.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationAnnotation.java
index 98ffa93ad02e..690c919a7123 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationAnnotation.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationAnnotation.java
@@ -5,17 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
- * A citation within the message that points to a specific quote from a specific File associated with the assistant or
- * the message. Generated when the assistant uses the 'retrieval' tool to search files.
+ * A citation within the message that points to a specific quote from a specific File associated with the assistant or the message. Generated when the assistant uses the 'retrieval' tool to search files.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("file_citation")
 @Immutable
 public final class MessageTextFileCitationAnnotation extends MessageTextAnnotation {
 
@@ -24,8 +21,7 @@ public final class MessageTextFileCitationAnnotation extends MessageTextAnnotati
      * Generated when the assistant uses the "retrieval" tool to search files.
      */
     @Generated
-    @JsonProperty(value = "file_citation")
-    private MessageTextFileCitationDetails fileCitation;
+    private final MessageTextFileCitationDetails fileCitation;
 
     /**
      * Creates an instance of MessageTextFileCitationAnnotation class.
@@ -36,17 +32,15 @@ public final class MessageTextFileCitationAnnotation extends MessageTextAnnotati
      * @param fileCitation the fileCitation value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageTextFileCitationAnnotation(@JsonProperty(value = "text") String text,
-        @JsonProperty(value = "start_index") int startIndex, @JsonProperty(value = "end_index") int endIndex,
-        @JsonProperty(value = "file_citation") MessageTextFileCitationDetails fileCitation) {
+    private MessageTextFileCitationAnnotation(String text, int startIndex, int endIndex,
+        MessageTextFileCitationDetails fileCitation) {
         super(text, startIndex, endIndex);
+        setType("file_citation");
         this.fileCitation = fileCitation;
     }
 
     /**
-     * Get the fileCitation property: A citation within the message that points to a specific quote from a specific
-     * file.
+     * Get the fileCitation property: A citation within the message that points to a specific quote from a specific file.
      * Generated when the assistant uses the "retrieval" tool to search files.
      *
      * @return the fileCitation value.
@@ -55,4 +49,59 @@ private MessageTextFileCitationAnnotation(@JsonProperty(value = "text") String t
     public MessageTextFileCitationDetails getFileCitation() {
         return this.fileCitation;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", getText());
+        jsonWriter.writeIntField("start_index", getStartIndex());
+        jsonWriter.writeIntField("end_index", getEndIndex());
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("file_citation", this.fileCitation);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextFileCitationAnnotation from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextFileCitationAnnotation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextFileCitationAnnotation.
+     */
+    @Generated
+    public static MessageTextFileCitationAnnotation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            int startIndex = 0;
+            int endIndex = 0;
+            String type = "file_citation";
+            MessageTextFileCitationDetails fileCitation = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("start_index".equals(fieldName)) {
+                    startIndex = reader.getInt();
+                } else if ("end_index".equals(fieldName)) {
+                    endIndex = reader.getInt();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("file_citation".equals(fieldName)) {
+                    fileCitation = MessageTextFileCitationDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            MessageTextFileCitationAnnotation deserializedMessageTextFileCitationAnnotation
+                = new MessageTextFileCitationAnnotation(text, startIndex, endIndex, fileCitation);
+            deserializedMessageTextFileCitationAnnotation.setType(type);
+            return deserializedMessageTextFileCitationAnnotation;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationDetails.java
index e52e4a8e8c24..d5e8555d7673 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFileCitationDetails.java
@@ -5,28 +5,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A representation of a file-based text citation, as used in a file-based annotation of text thread message content.
  */
 @Immutable
-public final class MessageTextFileCitationDetails {
+public final class MessageTextFileCitationDetails implements JsonSerializable {
 
     /*
      * The ID of the file associated with this citation.
      */
     @Generated
-    @JsonProperty(value = "file_id")
-    private String fileId;
+    private final String fileId;
 
     /*
      * The specific quote cited in the associated file.
      */
     @Generated
-    @JsonProperty(value = "quote")
-    private String quote;
+    private final String quote;
 
     /**
      * Creates an instance of MessageTextFileCitationDetails class.
@@ -35,9 +36,7 @@ public final class MessageTextFileCitationDetails {
      * @param quote the quote value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageTextFileCitationDetails(@JsonProperty(value = "file_id") String fileId,
-        @JsonProperty(value = "quote") String quote) {
+    private MessageTextFileCitationDetails(String fileId, String quote) {
         this.fileId = fileId;
         this.quote = quote;
     }
@@ -61,4 +60,44 @@ public String getFileId() {
     public String getQuote() {
         return this.quote;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("file_id", this.fileId);
+        jsonWriter.writeStringField("quote", this.quote);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextFileCitationDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextFileCitationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextFileCitationDetails.
+     */
+    @Generated
+    public static MessageTextFileCitationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String fileId = null;
+            String quote = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("file_id".equals(fieldName)) {
+                    fileId = reader.getString();
+                } else if ("quote".equals(fieldName)) {
+                    quote = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new MessageTextFileCitationDetails(fileId, quote);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathAnnotation.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathAnnotation.java
index e5b375455519..68ef6d6b5e81 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathAnnotation.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathAnnotation.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A citation within the message that points to a file located at a specific path.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("file_path")
 @Immutable
 public final class MessageTextFilePathAnnotation extends MessageTextAnnotation {
 
@@ -22,8 +20,7 @@ public final class MessageTextFilePathAnnotation extends MessageTextAnnotation {
      * A URL for the file that's generated when the assistant used the code_interpreter tool to generate a file.
      */
     @Generated
-    @JsonProperty(value = "file_path")
-    private MessageTextFilePathDetails filePath;
+    private final MessageTextFilePathDetails filePath;
 
     /**
      * Creates an instance of MessageTextFilePathAnnotation class.
@@ -34,17 +31,15 @@ public final class MessageTextFilePathAnnotation extends MessageTextAnnotation {
      * @param filePath the filePath value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageTextFilePathAnnotation(@JsonProperty(value = "text") String text,
-        @JsonProperty(value = "start_index") int startIndex, @JsonProperty(value = "end_index") int endIndex,
-        @JsonProperty(value = "file_path") MessageTextFilePathDetails filePath) {
+    private MessageTextFilePathAnnotation(String text, int startIndex, int endIndex,
+        MessageTextFilePathDetails filePath) {
         super(text, startIndex, endIndex);
+        setType("file_path");
         this.filePath = filePath;
     }
 
     /**
-     * Get the filePath property: A URL for the file that's generated when the assistant used the code_interpreter tool
-     * to generate a file.
+     * Get the filePath property: A URL for the file that's generated when the assistant used the code_interpreter tool to generate a file.
      *
      * @return the filePath value.
      */
@@ -52,4 +47,59 @@ private MessageTextFilePathAnnotation(@JsonProperty(value = "text") String text,
     public MessageTextFilePathDetails getFilePath() {
         return this.filePath;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", getText());
+        jsonWriter.writeIntField("start_index", getStartIndex());
+        jsonWriter.writeIntField("end_index", getEndIndex());
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("file_path", this.filePath);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextFilePathAnnotation from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextFilePathAnnotation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextFilePathAnnotation.
+     */
+    @Generated
+    public static MessageTextFilePathAnnotation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            int startIndex = 0;
+            int endIndex = 0;
+            String type = "file_path";
+            MessageTextFilePathDetails filePath = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("start_index".equals(fieldName)) {
+                    startIndex = reader.getInt();
+                } else if ("end_index".equals(fieldName)) {
+                    endIndex = reader.getInt();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("file_path".equals(fieldName)) {
+                    filePath = MessageTextFilePathDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            MessageTextFilePathAnnotation deserializedMessageTextFilePathAnnotation
+                = new MessageTextFilePathAnnotation(text, startIndex, endIndex, filePath);
+            deserializedMessageTextFilePathAnnotation.setType(type);
+            return deserializedMessageTextFilePathAnnotation;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathDetails.java
index c5860f3b9997..15cf5ff041da 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/MessageTextFilePathDetails.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An encapsulation of an image file ID, as used by message image content.
  */
 @Immutable
-public final class MessageTextFilePathDetails {
+public final class MessageTextFilePathDetails implements JsonSerializable {
 
     /*
      * The ID of the specific file that the citation is from.
      */
     @Generated
-    @JsonProperty(value = "file_id")
-    private String fileId;
+    private final String fileId;
 
     /**
      * Creates an instance of MessageTextFilePathDetails class.
@@ -27,8 +29,7 @@ public final class MessageTextFilePathDetails {
      * @param fileId the fileId value to set.
      */
     @Generated
-    @JsonCreator
-    private MessageTextFilePathDetails(@JsonProperty(value = "file_id") String fileId) {
+    private MessageTextFilePathDetails(String fileId) {
         this.fileId = fileId;
     }
 
@@ -41,4 +42,40 @@ private MessageTextFilePathDetails(@JsonProperty(value = "file_id") String fileI
     public String getFileId() {
         return this.fileId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("file_id", this.fileId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MessageTextFilePathDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MessageTextFilePathDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the MessageTextFilePathDetails.
+     */
+    @Generated
+    public static MessageTextFilePathDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String fileId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("file_id".equals(fieldName)) {
+                    fileId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new MessageTextFilePathDetails(fileId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/OpenAIFile.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/OpenAIFile.java
index 56be5ed3bf71..b7dde669e0d0 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/OpenAIFile.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/OpenAIFile.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
@@ -15,49 +18,43 @@
  * Represents an assistant that can call the model and use tools.
  */
 @Immutable
-public final class OpenAIFile {
+public final class OpenAIFile implements JsonSerializable {
 
     /*
      * The object type, which is always 'file'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "file";
+    private final String object = "file";
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The size of the file, in bytes.
      */
     @Generated
-    @JsonProperty(value = "bytes")
-    private int bytes;
+    private final int bytes;
 
     /*
      * The name of the file.
      */
     @Generated
-    @JsonProperty(value = "filename")
-    private String filename;
+    private final String filename;
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The intended purpose of a file.
      */
     @Generated
-    @JsonProperty(value = "purpose")
-    private FilePurpose purpose;
+    private final FilePurpose purpose;
 
     /**
      * Creates an instance of OpenAIFile class.
@@ -77,14 +74,6 @@ private OpenAIFile(String id, int bytes, String filename, OffsetDateTime created
         this.purpose = purpose;
     }
 
-    @Generated
-    @JsonCreator
-    private OpenAIFile(@JsonProperty(value = "id") String id, @JsonProperty(value = "bytes") int bytes,
-        @JsonProperty(value = "filename") String filename, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "purpose") FilePurpose purpose) {
-        this(id, bytes, filename, OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), purpose);
-    }
-
     /**
      * Get the object property: The object type, which is always 'file'.
      *
@@ -144,4 +133,57 @@ public OffsetDateTime getCreatedAt() {
     public FilePurpose getPurpose() {
         return this.purpose;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeIntField("bytes", this.bytes);
+        jsonWriter.writeStringField("filename", this.filename);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("purpose", this.purpose == null ? null : this.purpose.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of OpenAIFile from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of OpenAIFile if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the OpenAIFile.
+     */
+    @Generated
+    public static OpenAIFile fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            int bytes = 0;
+            String filename = null;
+            OffsetDateTime createdAt = null;
+            FilePurpose purpose = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("bytes".equals(fieldName)) {
+                    bytes = reader.getInt();
+                } else if ("filename".equals(fieldName)) {
+                    filename = reader.getString();
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("purpose".equals(fieldName)) {
+                    purpose = FilePurpose.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new OpenAIFile(id, bytes, filename, createdAt, purpose);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredAction.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredAction.java
index c84cea0711c7..506ba600acb4 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredAction.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredAction.java
@@ -5,27 +5,113 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of a required action for an assistant thread run to continue.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = RequiredAction.class)
-@JsonTypeName("RequiredAction")
-@JsonSubTypes({ @JsonSubTypes.Type(name = "submit_tool_outputs", value = SubmitToolOutputsAction.class) })
 @Immutable
-public class RequiredAction {
+public class RequiredAction implements JsonSerializable {
 
     /**
      * Creates an instance of RequiredAction class.
      */
     @Generated
     protected RequiredAction() {
+        this.type = "RequiredAction";
+    }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the RequiredAction object itself.
+     */
+    @Generated
+    protected RequiredAction setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RequiredAction from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RequiredAction if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the RequiredAction.
+     */
+    @Generated
+    public static RequiredAction fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("submit_tool_outputs".equals(discriminatorValue)) {
+                    return SubmitToolOutputsAction.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static RequiredAction fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RequiredAction deserializedRequiredAction = new RequiredAction();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedRequiredAction.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedRequiredAction;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCall.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCall.java
index 23170f111e1a..badf93d52621 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCall.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCall.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A representation of a requested call to a function tool, needed by the model to continue evaluation of a run.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("function")
 @Immutable
 public final class RequiredFunctionToolCall extends RequiredToolCall {
 
@@ -22,12 +20,10 @@ public final class RequiredFunctionToolCall extends RequiredToolCall {
      * Detailed information about the function to be executed by the tool that includes name and arguments.
      */
     @Generated
-    @JsonProperty(value = "function")
-    private RequiredFunctionToolCallDetails function;
+    private final RequiredFunctionToolCallDetails function;
 
     /**
-     * Get the function property: Detailed information about the function to be executed by the tool that includes name
-     * and arguments.
+     * Get the function property: Detailed information about the function to be executed by the tool that includes name and arguments.
      *
      * @return the function value.
      */
@@ -43,10 +39,55 @@ public RequiredFunctionToolCallDetails getFunction() {
      * @param function the function value to set.
      */
     @Generated
-    @JsonCreator
-    private RequiredFunctionToolCall(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "function") RequiredFunctionToolCallDetails function) {
+    private RequiredFunctionToolCall(String id, RequiredFunctionToolCallDetails function) {
         super(id);
+        setType("function");
         this.function = function;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", getId());
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("function", this.function);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RequiredFunctionToolCall from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RequiredFunctionToolCall if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RequiredFunctionToolCall.
+     */
+    @Generated
+    public static RequiredFunctionToolCall fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String type = "function";
+            RequiredFunctionToolCallDetails function = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("function".equals(fieldName)) {
+                    function = RequiredFunctionToolCallDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RequiredFunctionToolCall deserializedRequiredFunctionToolCall = new RequiredFunctionToolCall(id, function);
+            deserializedRequiredFunctionToolCall.setType(type);
+            return deserializedRequiredFunctionToolCall;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCallDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCallDetails.java
index ff0f43b13097..d11118279124 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCallDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredFunctionToolCallDetails.java
@@ -5,30 +5,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
- * The detailed information for a function invocation, as provided by a required action invoking a function tool, that
- * includes the name of and arguments to the function.
+ * The detailed information for a function invocation, as provided by a required action invoking a function tool, that includes the name of and arguments to the function.
  */
 @Immutable
-public final class RequiredFunctionToolCallDetails {
+public final class RequiredFunctionToolCallDetails implements JsonSerializable {
 
     /*
      * The name of the function.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
-     * The arguments to use when invoking the named function, as provided by the model. Arguments are presented as a
-     * JSON document that should be validated and parsed for evaluation.
+     * The arguments to use when invoking the named function, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation.
      */
     @Generated
-    @JsonProperty(value = "arguments")
-    private String arguments;
+    private final String arguments;
 
     /**
      * Creates an instance of RequiredFunctionToolCallDetails class.
@@ -37,9 +36,7 @@ public final class RequiredFunctionToolCallDetails {
      * @param arguments the arguments value to set.
      */
     @Generated
-    @JsonCreator
-    private RequiredFunctionToolCallDetails(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "arguments") String arguments) {
+    private RequiredFunctionToolCallDetails(String name, String arguments) {
         this.name = name;
         this.arguments = arguments;
     }
@@ -55,8 +52,7 @@ public String getName() {
     }
 
     /**
-     * Get the arguments property: The arguments to use when invoking the named function, as provided by the model.
-     * Arguments are presented as a JSON document that should be validated and parsed for evaluation.
+     * Get the arguments property: The arguments to use when invoking the named function, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation.
      *
      * @return the arguments value.
      */
@@ -64,4 +60,44 @@ public String getName() {
     public String getArguments() {
         return this.arguments;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("arguments", this.arguments);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RequiredFunctionToolCallDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RequiredFunctionToolCallDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RequiredFunctionToolCallDetails.
+     */
+    @Generated
+    public static RequiredFunctionToolCallDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String arguments = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("arguments".equals(fieldName)) {
+                    arguments = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RequiredFunctionToolCallDetails(name, arguments);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredToolCall.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredToolCall.java
index fedcb5b79c6e..937b9c748dc6 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredToolCall.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RequiredToolCall.java
@@ -5,31 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation a a tool invocation needed by the model to continue a run.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = RequiredToolCall.class)
-@JsonTypeName("RequiredToolCall")
-@JsonSubTypes({ @JsonSubTypes.Type(name = "function", value = RequiredFunctionToolCall.class) })
 @Immutable
-public class RequiredToolCall {
+public class RequiredToolCall implements JsonSerializable {
 
     /*
      * The ID of the tool call. This ID must be referenced when submitting tool outputs.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /**
      * Creates an instance of RequiredToolCall class.
@@ -37,8 +29,8 @@ public class RequiredToolCall {
      * @param id the id value to set.
      */
     @Generated
-    @JsonCreator
-    protected RequiredToolCall(@JsonProperty(value = "id") String id) {
+    protected RequiredToolCall(String id) {
+        this.type = "RequiredToolCall";
         this.id = id;
     }
 
@@ -51,4 +43,101 @@ protected RequiredToolCall(@JsonProperty(value = "id") String id) {
     public String getId() {
         return this.id;
     }
+
+    /*
+     * The object type for the required tool call.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type for the required tool call.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type for the required tool call.
+     *
+     * @param type the type value to set.
+     * @return the RequiredToolCall object itself.
+     */
+    @Generated
+    protected RequiredToolCall setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RequiredToolCall from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RequiredToolCall if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RequiredToolCall.
+     */
+    @Generated
+    public static RequiredToolCall fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("function".equals(discriminatorValue)) {
+                    return RequiredFunctionToolCall.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static RequiredToolCall fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String type = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RequiredToolCall deserializedRequiredToolCall = new RequiredToolCall(id);
+            deserializedRequiredToolCall.type = type;
+            return deserializedRequiredToolCall;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RetrievalToolDefinition.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RetrievalToolDefinition.java
index 9b88b184db92..7442e09b3d57 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RetrievalToolDefinition.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RetrievalToolDefinition.java
@@ -5,14 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The input definition information for a retrieval tool as used to configure an assistant.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("retrieval")
 @Immutable
 public final class RetrievalToolDefinition extends ToolDefinition {
 
@@ -21,5 +21,41 @@ public final class RetrievalToolDefinition extends ToolDefinition {
      */
     @Generated
     public RetrievalToolDefinition() {
+        setType("retrieval");
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RetrievalToolDefinition from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RetrievalToolDefinition if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the RetrievalToolDefinition.
+     */
+    @Generated
+    public static RetrievalToolDefinition fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RetrievalToolDefinition deserializedRetrievalToolDefinition = new RetrievalToolDefinition();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedRetrievalToolDefinition.setType(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedRetrievalToolDefinition;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunError.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunError.java
index 4b8764b55458..278159ac29b4 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunError.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunError.java
@@ -5,28 +5,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The details of an error as encountered by an assistant thread run.
  */
 @Immutable
-public final class RunError {
+public final class RunError implements JsonSerializable {
 
     /*
      * The status for the error.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * The human-readable text associated with the error.
      */
     @Generated
-    @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /**
      * Creates an instance of RunError class.
@@ -35,8 +36,7 @@ public final class RunError {
      * @param message the message value to set.
      */
     @Generated
-    @JsonCreator
-    private RunError(@JsonProperty(value = "code") String code, @JsonProperty(value = "message") String message) {
+    private RunError(String code, String message) {
         this.code = code;
         this.message = message;
     }
@@ -60,4 +60,44 @@ public String getCode() {
     public String getMessage() {
         return this.message;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("message", this.message);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunError from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunError if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunError.
+     */
+    @Generated
+    public static RunError fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String message = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("message".equals(fieldName)) {
+                    message = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunError(code, message);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStatus.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStatus.java
index 65a9b88e45df..667824f56ede 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStatus.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStatus.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -78,7 +77,6 @@ public RunStatus() {
      * @return the corresponding RunStatus.
      */
     @Generated
-    @JsonCreator
     public static RunStatus fromString(String name) {
         return fromString(name, RunStatus.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStep.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStep.java
index d1cedb29fc04..c65a22d8b5a0 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStep.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStep.java
@@ -5,125 +5,112 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
 import java.util.Map;
 
 /**
  * Detailed information about a single step of an assistant thread run.
  */
 @Immutable
-public final class RunStep {
+public final class RunStep implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always 'thread.run.step'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "thread.run.step";
+    private final String object = "thread.run.step";
 
     /*
      * The type of run step, which can be either message_creation or tool_calls.
      */
     @Generated
-    @JsonProperty(value = "type")
-    private RunStepType type;
+    private final RunStepType type;
 
     /*
      * The ID of the assistant associated with the run step.
      */
     @Generated
-    @JsonProperty(value = "assistant_id")
-    private String assistantId;
+    private final String assistantId;
 
     /*
      * The ID of the thread that was run.
      */
     @Generated
-    @JsonProperty(value = "thread_id")
-    private String threadId;
+    private final String threadId;
 
     /*
      * The ID of the run that this run step is a part of.
      */
     @Generated
-    @JsonProperty(value = "run_id")
-    private String runId;
+    private final String runId;
 
     /*
      * The status of this run step.
      */
     @Generated
-    @JsonProperty(value = "status")
-    private RunStepStatus status;
+    private final RunStepStatus status;
 
     /*
      * The details for this run step.
      */
     @Generated
-    @JsonProperty(value = "step_details")
-    private RunStepDetails stepDetails;
+    private final RunStepDetails stepDetails;
 
     /*
      * If applicable, information about the last error encountered by this run step.
      */
     @Generated
-    @JsonProperty(value = "last_error")
-    private RunStepError lastError;
+    private final RunStepError lastError;
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this item expired.
      */
     @Generated
-    @JsonProperty(value = "expired_at")
-    private OffsetDateTime expiredAt;
+    private final OffsetDateTime expiredAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this completed.
      */
     @Generated
-    @JsonProperty(value = "completed_at")
-    private OffsetDateTime completedAt;
+    private final OffsetDateTime completedAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this was cancelled.
      */
     @Generated
-    @JsonProperty(value = "cancelled_at")
-    private OffsetDateTime cancelledAt;
+    private final OffsetDateTime cancelledAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this failed.
      */
     @Generated
-    @JsonProperty(value = "failed_at")
-    private OffsetDateTime failedAt;
+    private final OffsetDateTime failedAt;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
-    private Map metadata;
+    private final Map metadata;
 
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
@@ -266,9 +253,7 @@ public OffsetDateTime getFailedAt() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -316,20 +301,97 @@ private RunStep(String id, RunStepType type, String assistantId, String threadId
         this.metadata = metadata;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+        jsonWriter.writeStringField("assistant_id", this.assistantId);
+        jsonWriter.writeStringField("thread_id", this.threadId);
+        jsonWriter.writeStringField("run_id", this.runId);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeJsonField("step_details", this.stepDetails);
+        jsonWriter.writeJsonField("last_error", this.lastError);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("expired_at",
+            this.expiredAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expiredAt));
+        jsonWriter.writeStringField("completed_at",
+            this.completedAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.completedAt));
+        jsonWriter.writeStringField("cancelled_at",
+            this.cancelledAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.cancelledAt));
+        jsonWriter.writeStringField("failed_at",
+            this.failedAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.failedAt));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStep from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStep if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStep.
+     */
     @Generated
-    @JsonCreator
-    private RunStep(@JsonProperty(value = "id") String id, @JsonProperty(value = "type") RunStepType type,
-        @JsonProperty(value = "assistant_id") String assistantId, @JsonProperty(value = "thread_id") String threadId,
-        @JsonProperty(value = "run_id") String runId, @JsonProperty(value = "status") RunStepStatus status,
-        @JsonProperty(value = "step_details") RunStepDetails stepDetails,
-        @JsonProperty(value = "last_error") RunStepError lastError, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "expired_at") OffsetDateTime expiredAt,
-        @JsonProperty(value = "completed_at") OffsetDateTime completedAt,
-        @JsonProperty(value = "cancelled_at") OffsetDateTime cancelledAt,
-        @JsonProperty(value = "failed_at") OffsetDateTime failedAt,
-        @JsonProperty(value = "metadata") Map metadata) {
-        this(id, type, assistantId, threadId, runId, status, stepDetails, lastError,
-            OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), expiredAt, completedAt,
-            cancelledAt, failedAt, metadata);
+    public static RunStep fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            RunStepType type = null;
+            String assistantId = null;
+            String threadId = null;
+            String runId = null;
+            RunStepStatus status = null;
+            RunStepDetails stepDetails = null;
+            RunStepError lastError = null;
+            OffsetDateTime createdAt = null;
+            OffsetDateTime expiredAt = null;
+            OffsetDateTime completedAt = null;
+            OffsetDateTime cancelledAt = null;
+            OffsetDateTime failedAt = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = RunStepType.fromString(reader.getString());
+                } else if ("assistant_id".equals(fieldName)) {
+                    assistantId = reader.getString();
+                } else if ("thread_id".equals(fieldName)) {
+                    threadId = reader.getString();
+                } else if ("run_id".equals(fieldName)) {
+                    runId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = RunStepStatus.fromString(reader.getString());
+                } else if ("step_details".equals(fieldName)) {
+                    stepDetails = RunStepDetails.fromJson(reader);
+                } else if ("last_error".equals(fieldName)) {
+                    lastError = RunStepError.fromJson(reader);
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("expired_at".equals(fieldName)) {
+                    expiredAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("completed_at".equals(fieldName)) {
+                    completedAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("cancelled_at".equals(fieldName)) {
+                    cancelledAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("failed_at".equals(fieldName)) {
+                    failedAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunStep(id, type, assistantId, threadId, runId, status, stepDetails, lastError, createdAt,
+                expiredAt, completedAt, cancelledAt, failedAt, metadata);
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageOutput.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageOutput.java
index 3eb97cb2a55c..c2424b2bb058 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageOutput.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageOutput.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A representation of an image output emitted by a code interpreter tool in response to a tool call by the model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("image")
 @Immutable
 public final class RunStepCodeInterpreterImageOutput extends RunStepCodeInterpreterToolCallOutput {
 
@@ -22,8 +20,7 @@ public final class RunStepCodeInterpreterImageOutput extends RunStepCodeInterpre
      * Referential information for the image associated with this output.
      */
     @Generated
-    @JsonProperty(value = "image")
-    private RunStepCodeInterpreterImageReference image;
+    private final RunStepCodeInterpreterImageReference image;
 
     /**
      * Creates an instance of RunStepCodeInterpreterImageOutput class.
@@ -31,9 +28,8 @@ public final class RunStepCodeInterpreterImageOutput extends RunStepCodeInterpre
      * @param image the image value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepCodeInterpreterImageOutput(
-        @JsonProperty(value = "image") RunStepCodeInterpreterImageReference image) {
+    private RunStepCodeInterpreterImageOutput(RunStepCodeInterpreterImageReference image) {
+        setType("image");
         this.image = image;
     }
 
@@ -46,4 +42,47 @@ private RunStepCodeInterpreterImageOutput(
     public RunStepCodeInterpreterImageReference getImage() {
         return this.image;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("image", this.image);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepCodeInterpreterImageOutput from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepCodeInterpreterImageOutput if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepCodeInterpreterImageOutput.
+     */
+    @Generated
+    public static RunStepCodeInterpreterImageOutput fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String type = "image";
+            RunStepCodeInterpreterImageReference image = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("image".equals(fieldName)) {
+                    image = RunStepCodeInterpreterImageReference.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepCodeInterpreterImageOutput deserializedRunStepCodeInterpreterImageOutput
+                = new RunStepCodeInterpreterImageOutput(image);
+            deserializedRunStepCodeInterpreterImageOutput.setType(type);
+            return deserializedRunStepCodeInterpreterImageOutput;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageReference.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageReference.java
index 1ff0c79a6c3f..6e3af7f036a3 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageReference.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterImageReference.java
@@ -5,21 +5,24 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An image reference emitted by a code interpreter tool in response to a tool call by the model.
  */
 @Immutable
-public final class RunStepCodeInterpreterImageReference {
+public final class RunStepCodeInterpreterImageReference
+    implements JsonSerializable {
 
     /*
      * The ID of the file associated with this image.
      */
     @Generated
-    @JsonProperty(value = "file_id")
-    private String fileId;
+    private final String fileId;
 
     /**
      * Creates an instance of RunStepCodeInterpreterImageReference class.
@@ -27,8 +30,7 @@ public final class RunStepCodeInterpreterImageReference {
      * @param fileId the fileId value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepCodeInterpreterImageReference(@JsonProperty(value = "file_id") String fileId) {
+    private RunStepCodeInterpreterImageReference(String fileId) {
         this.fileId = fileId;
     }
 
@@ -41,4 +43,40 @@ private RunStepCodeInterpreterImageReference(@JsonProperty(value = "file_id") St
     public String getFileId() {
         return this.fileId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("file_id", this.fileId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepCodeInterpreterImageReference from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepCodeInterpreterImageReference if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepCodeInterpreterImageReference.
+     */
+    @Generated
+    public static RunStepCodeInterpreterImageReference fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String fileId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("file_id".equals(fieldName)) {
+                    fileId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunStepCodeInterpreterImageReference(fileId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterLogOutput.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterLogOutput.java
index 2a2892499f13..ffde4709d09a 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterLogOutput.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterLogOutput.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A representation of a log output emitted by a code interpreter tool in response to a tool call by the model.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("logs")
 @Immutable
 public final class RunStepCodeInterpreterLogOutput extends RunStepCodeInterpreterToolCallOutput {
 
@@ -22,8 +20,7 @@ public final class RunStepCodeInterpreterLogOutput extends RunStepCodeInterprete
      * The serialized log output emitted by the code interpreter.
      */
     @Generated
-    @JsonProperty(value = "logs")
-    private String logs;
+    private final String logs;
 
     /**
      * Creates an instance of RunStepCodeInterpreterLogOutput class.
@@ -31,8 +28,8 @@ public final class RunStepCodeInterpreterLogOutput extends RunStepCodeInterprete
      * @param logs the logs value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepCodeInterpreterLogOutput(@JsonProperty(value = "logs") String logs) {
+    private RunStepCodeInterpreterLogOutput(String logs) {
+        setType("logs");
         this.logs = logs;
     }
 
@@ -45,4 +42,47 @@ private RunStepCodeInterpreterLogOutput(@JsonProperty(value = "logs") String log
     public String getLogs() {
         return this.logs;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeStringField("logs", this.logs);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepCodeInterpreterLogOutput from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepCodeInterpreterLogOutput if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepCodeInterpreterLogOutput.
+     */
+    @Generated
+    public static RunStepCodeInterpreterLogOutput fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String type = "logs";
+            String logs = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("logs".equals(fieldName)) {
+                    logs = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepCodeInterpreterLogOutput deserializedRunStepCodeInterpreterLogOutput
+                = new RunStepCodeInterpreterLogOutput(logs);
+            deserializedRunStepCodeInterpreterLogOutput.setType(type);
+            return deserializedRunStepCodeInterpreterLogOutput;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCall.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCall.java
index 029489ee5a9d..c50bfb0aea2f 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCall.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCall.java
@@ -5,17 +5,15 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * A record of a call to a code interpreter tool, issued by the model in evaluation of a defined tool, that
  * represents inputs and outputs consumed and emitted by the code interpreter.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("code_interpreter")
 @Immutable
 public final class RunStepCodeInterpreterToolCall extends RunStepToolCall {
 
@@ -23,8 +21,7 @@ public final class RunStepCodeInterpreterToolCall extends RunStepToolCall {
      * The details of the tool call to the code interpreter tool.
      */
     @Generated
-    @JsonProperty(value = "code_interpreter")
-    private RunStepCodeInterpreterToolCallDetails codeInterpreter;
+    private final RunStepCodeInterpreterToolCallDetails codeInterpreter;
 
     /**
      * Creates an instance of RunStepCodeInterpreterToolCall class.
@@ -33,10 +30,9 @@ public final class RunStepCodeInterpreterToolCall extends RunStepToolCall {
      * @param codeInterpreter the codeInterpreter value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepCodeInterpreterToolCall(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "code_interpreter") RunStepCodeInterpreterToolCallDetails codeInterpreter) {
+    private RunStepCodeInterpreterToolCall(String id, RunStepCodeInterpreterToolCallDetails codeInterpreter) {
         super(id);
+        setType("code_interpreter");
         this.codeInterpreter = codeInterpreter;
     }
 
@@ -49,4 +45,51 @@ private RunStepCodeInterpreterToolCall(@JsonProperty(value = "id") String id,
     public RunStepCodeInterpreterToolCallDetails getCodeInterpreter() {
         return this.codeInterpreter;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", getId());
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("code_interpreter", this.codeInterpreter);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepCodeInterpreterToolCall from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepCodeInterpreterToolCall if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepCodeInterpreterToolCall.
+     */
+    @Generated
+    public static RunStepCodeInterpreterToolCall fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String type = "code_interpreter";
+            RunStepCodeInterpreterToolCallDetails codeInterpreter = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("code_interpreter".equals(fieldName)) {
+                    codeInterpreter = RunStepCodeInterpreterToolCallDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepCodeInterpreterToolCall deserializedRunStepCodeInterpreterToolCall
+                = new RunStepCodeInterpreterToolCall(id, codeInterpreter);
+            deserializedRunStepCodeInterpreterToolCall.setType(type);
+            return deserializedRunStepCodeInterpreterToolCall;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallDetails.java
index 09b66fb11458..a0c8bdda1b20 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallDetails.java
@@ -5,29 +5,31 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The detailed information about a code interpreter invocation by the model.
  */
 @Immutable
-public final class RunStepCodeInterpreterToolCallDetails {
+public final class RunStepCodeInterpreterToolCallDetails
+    implements JsonSerializable {
 
     /*
      * The input provided by the model to the code interpreter tool.
      */
     @Generated
-    @JsonProperty(value = "input")
-    private String input;
+    private final String input;
 
     /*
      * The outputs produced by the code interpreter tool back to the model in response to the tool call.
      */
     @Generated
-    @JsonProperty(value = "outputs")
-    private List outputs;
+    private final List outputs;
 
     /**
      * Creates an instance of RunStepCodeInterpreterToolCallDetails class.
@@ -36,9 +38,7 @@ public final class RunStepCodeInterpreterToolCallDetails {
      * @param outputs the outputs value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepCodeInterpreterToolCallDetails(@JsonProperty(value = "input") String input,
-        @JsonProperty(value = "outputs") List outputs) {
+    private RunStepCodeInterpreterToolCallDetails(String input, List outputs) {
         this.input = input;
         this.outputs = outputs;
     }
@@ -54,8 +54,7 @@ public String getInput() {
     }
 
     /**
-     * Get the outputs property: The outputs produced by the code interpreter tool back to the model in response to the
-     * tool call.
+     * Get the outputs property: The outputs produced by the code interpreter tool back to the model in response to the tool call.
      *
      * @return the outputs value.
      */
@@ -63,4 +62,44 @@ public String getInput() {
     public List getOutputs() {
         return this.outputs;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("input", this.input);
+        jsonWriter.writeArrayField("outputs", this.outputs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepCodeInterpreterToolCallDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepCodeInterpreterToolCallDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepCodeInterpreterToolCallDetails.
+     */
+    @Generated
+    public static RunStepCodeInterpreterToolCallDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String input = null;
+            List outputs = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("input".equals(fieldName)) {
+                    input = reader.getString();
+                } else if ("outputs".equals(fieldName)) {
+                    outputs = reader.readArray(reader1 -> RunStepCodeInterpreterToolCallOutput.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunStepCodeInterpreterToolCallDetails(input, outputs);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallOutput.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallOutput.java
index 8e1758e91c2a..6063333663de 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallOutput.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepCodeInterpreterToolCallOutput.java
@@ -5,29 +5,116 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of an emitted output from a code interpreter tool.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = RunStepCodeInterpreterToolCallOutput.class)
-@JsonTypeName("RunStepCodeInterpreterToolCallOutput")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "logs", value = RunStepCodeInterpreterLogOutput.class),
-    @JsonSubTypes.Type(name = "image", value = RunStepCodeInterpreterImageOutput.class) })
 @Immutable
-public class RunStepCodeInterpreterToolCallOutput {
+public class RunStepCodeInterpreterToolCallOutput implements JsonSerializable {
 
     /**
      * Creates an instance of RunStepCodeInterpreterToolCallOutput class.
      */
     @Generated
     protected RunStepCodeInterpreterToolCallOutput() {
+        this.type = "RunStepCodeInterpreterToolCallOutput";
+    }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the RunStepCodeInterpreterToolCallOutput object itself.
+     */
+    @Generated
+    protected RunStepCodeInterpreterToolCallOutput setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepCodeInterpreterToolCallOutput from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepCodeInterpreterToolCallOutput if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the RunStepCodeInterpreterToolCallOutput.
+     */
+    @Generated
+    public static RunStepCodeInterpreterToolCallOutput fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("logs".equals(discriminatorValue)) {
+                    return RunStepCodeInterpreterLogOutput.fromJson(readerToUse.reset());
+                } else if ("image".equals(discriminatorValue)) {
+                    return RunStepCodeInterpreterImageOutput.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static RunStepCodeInterpreterToolCallOutput fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RunStepCodeInterpreterToolCallOutput deserializedRunStepCodeInterpreterToolCallOutput
+                = new RunStepCodeInterpreterToolCallOutput();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedRunStepCodeInterpreterToolCallOutput.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedRunStepCodeInterpreterToolCallOutput;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepDetails.java
index 7f8afd4eb35c..5211c7c3fef1 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepDetails.java
@@ -5,29 +5,115 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of the details for a run step.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = RunStepDetails.class)
-@JsonTypeName("RunStepDetails")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "message_creation", value = RunStepMessageCreationDetails.class),
-    @JsonSubTypes.Type(name = "tool_calls", value = RunStepToolCallDetails.class) })
 @Immutable
-public class RunStepDetails {
+public class RunStepDetails implements JsonSerializable {
 
     /**
      * Creates an instance of RunStepDetails class.
      */
     @Generated
     protected RunStepDetails() {
+        this.type = RunStepType.fromString("RunStepDetails");
+    }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private RunStepType type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public RunStepType getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the RunStepDetails object itself.
+     */
+    @Generated
+    protected RunStepDetails setType(RunStepType type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the RunStepDetails.
+     */
+    @Generated
+    public static RunStepDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("message_creation".equals(discriminatorValue)) {
+                    return RunStepMessageCreationDetails.fromJson(readerToUse.reset());
+                } else if ("tool_calls".equals(discriminatorValue)) {
+                    return RunStepToolCallDetails.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static RunStepDetails fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RunStepDetails deserializedRunStepDetails = new RunStepDetails();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedRunStepDetails.type = RunStepType.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedRunStepDetails;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepError.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepError.java
index 2d7d17813764..573ed0b639cf 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepError.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepError.java
@@ -5,28 +5,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The error information associated with a failed run step.
  */
 @Immutable
-public final class RunStepError {
+public final class RunStepError implements JsonSerializable {
 
     /*
      * The error code for this error.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private RunStepErrorCode code;
+    private final RunStepErrorCode code;
 
     /*
      * The human-readable text associated with this error.
      */
     @Generated
-    @JsonProperty(value = "message")
-    private String message;
+    private final String message;
 
     /**
      * Creates an instance of RunStepError class.
@@ -35,9 +36,7 @@ public final class RunStepError {
      * @param message the message value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepError(@JsonProperty(value = "code") RunStepErrorCode code,
-        @JsonProperty(value = "message") String message) {
+    private RunStepError(RunStepErrorCode code, String message) {
         this.code = code;
         this.message = message;
     }
@@ -61,4 +60,44 @@ public RunStepErrorCode getCode() {
     public String getMessage() {
         return this.message;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code == null ? null : this.code.toString());
+        jsonWriter.writeStringField("message", this.message);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepError from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepError if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepError.
+     */
+    @Generated
+    public static RunStepError fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RunStepErrorCode code = null;
+            String message = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("code".equals(fieldName)) {
+                    code = RunStepErrorCode.fromString(reader.getString());
+                } else if ("message".equals(fieldName)) {
+                    message = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunStepError(code, message);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepErrorCode.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepErrorCode.java
index 98ef99d6fb07..c86d9208e87c 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepErrorCode.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepErrorCode.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public RunStepErrorCode() {
      * @return the corresponding RunStepErrorCode.
      */
     @Generated
-    @JsonCreator
     public static RunStepErrorCode fromString(String name) {
         return fromString(name, RunStepErrorCode.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCall.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCall.java
index 45fbc3d2ffd8..50ec399de34b 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCall.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCall.java
@@ -5,18 +5,15 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
- * A record of a call to a function tool, issued by the model in evaluation of a defined tool, that represents the
- * inputs
+ * A record of a call to a function tool, issued by the model in evaluation of a defined tool, that represents the inputs
  * and output consumed and emitted by the specified function.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("function")
 @Immutable
 public final class RunStepFunctionToolCall extends RunStepToolCall {
 
@@ -24,8 +21,7 @@ public final class RunStepFunctionToolCall extends RunStepToolCall {
      * The detailed information about the function called by the model.
      */
     @Generated
-    @JsonProperty(value = "function")
-    private RunStepFunctionToolCallDetails function;
+    private final RunStepFunctionToolCallDetails function;
 
     /**
      * Creates an instance of RunStepFunctionToolCall class.
@@ -34,10 +30,9 @@ public final class RunStepFunctionToolCall extends RunStepToolCall {
      * @param function the function value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepFunctionToolCall(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "function") RunStepFunctionToolCallDetails function) {
+    private RunStepFunctionToolCall(String id, RunStepFunctionToolCallDetails function) {
         super(id);
+        setType("function");
         this.function = function;
     }
 
@@ -50,4 +45,50 @@ private RunStepFunctionToolCall(@JsonProperty(value = "id") String id,
     public RunStepFunctionToolCallDetails getFunction() {
         return this.function;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", getId());
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("function", this.function);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepFunctionToolCall from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepFunctionToolCall if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepFunctionToolCall.
+     */
+    @Generated
+    public static RunStepFunctionToolCall fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String type = "function";
+            RunStepFunctionToolCallDetails function = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("function".equals(fieldName)) {
+                    function = RunStepFunctionToolCallDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepFunctionToolCall deserializedRunStepFunctionToolCall = new RunStepFunctionToolCall(id, function);
+            deserializedRunStepFunctionToolCall.setType(type);
+            return deserializedRunStepFunctionToolCall;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCallDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCallDetails.java
index 7069cb9aa674..8d89d7c44a5a 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCallDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepFunctionToolCallDetails.java
@@ -5,36 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The detailed information about the function called by the model.
  */
 @Immutable
-public final class RunStepFunctionToolCallDetails {
+public final class RunStepFunctionToolCallDetails implements JsonSerializable {
 
     /*
      * The name of the function.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * The arguments that the model requires are provided to the named function.
      */
     @Generated
-    @JsonProperty(value = "arguments")
-    private String arguments;
+    private final String arguments;
 
     /*
-     * The output of the function, only populated for function calls that have already have had their outputs
-     * submitted.
+     * The output of the function, only populated for function calls that have already have had their outputs submitted.
      */
     @Generated
-    @JsonProperty(value = "output")
-    private String output;
+    private final String output;
 
     /**
      * Creates an instance of RunStepFunctionToolCallDetails class.
@@ -44,9 +43,7 @@ public final class RunStepFunctionToolCallDetails {
      * @param output the output value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepFunctionToolCallDetails(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "arguments") String arguments, @JsonProperty(value = "output") String output) {
+    private RunStepFunctionToolCallDetails(String name, String arguments, String output) {
         this.name = name;
         this.arguments = arguments;
         this.output = output;
@@ -73,8 +70,7 @@ public String getArguments() {
     }
 
     /**
-     * Get the output property: The output of the function, only populated for function calls that have already have
-     * had their outputs submitted.
+     * Get the output property: The output of the function, only populated for function calls that have already have had their outputs submitted.
      *
      * @return the output value.
      */
@@ -82,4 +78,48 @@ public String getArguments() {
     public String getOutput() {
         return this.output;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("arguments", this.arguments);
+        jsonWriter.writeStringField("output", this.output);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepFunctionToolCallDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepFunctionToolCallDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepFunctionToolCallDetails.
+     */
+    @Generated
+    public static RunStepFunctionToolCallDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String arguments = null;
+            String output = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("arguments".equals(fieldName)) {
+                    arguments = reader.getString();
+                } else if ("output".equals(fieldName)) {
+                    output = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunStepFunctionToolCallDetails(name, arguments, output);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationDetails.java
index 3a4a266ceb17..5658c014deef 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationDetails.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The detailed information associated with a message creation run step.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("message_creation")
 @Immutable
 public final class RunStepMessageCreationDetails extends RunStepDetails {
 
@@ -22,8 +20,7 @@ public final class RunStepMessageCreationDetails extends RunStepDetails {
      * Information about the message creation associated with this run step.
      */
     @Generated
-    @JsonProperty(value = "message_creation")
-    private RunStepMessageCreationReference messageCreation;
+    private final RunStepMessageCreationReference messageCreation;
 
     /**
      * Creates an instance of RunStepMessageCreationDetails class.
@@ -31,9 +28,8 @@ public final class RunStepMessageCreationDetails extends RunStepDetails {
      * @param messageCreation the messageCreation value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepMessageCreationDetails(
-        @JsonProperty(value = "message_creation") RunStepMessageCreationReference messageCreation) {
+    private RunStepMessageCreationDetails(RunStepMessageCreationReference messageCreation) {
+        setType(RunStepType.MESSAGE_CREATION);
         this.messageCreation = messageCreation;
     }
 
@@ -46,4 +42,47 @@ private RunStepMessageCreationDetails(
     public RunStepMessageCreationReference getMessageCreation() {
         return this.messageCreation;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType() == null ? null : getType().toString());
+        jsonWriter.writeJsonField("message_creation", this.messageCreation);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepMessageCreationDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepMessageCreationDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepMessageCreationDetails.
+     */
+    @Generated
+    public static RunStepMessageCreationDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RunStepType type = RunStepType.MESSAGE_CREATION;
+            RunStepMessageCreationReference messageCreation = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = RunStepType.fromString(reader.getString());
+                } else if ("message_creation".equals(fieldName)) {
+                    messageCreation = RunStepMessageCreationReference.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepMessageCreationDetails deserializedRunStepMessageCreationDetails
+                = new RunStepMessageCreationDetails(messageCreation);
+            deserializedRunStepMessageCreationDetails.setType(type);
+            return deserializedRunStepMessageCreationDetails;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationReference.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationReference.java
index da521ae08df7..ec450da586a7 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationReference.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepMessageCreationReference.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The details of a message created as a part of a run step.
  */
 @Immutable
-public final class RunStepMessageCreationReference {
+public final class RunStepMessageCreationReference implements JsonSerializable {
 
     /*
      * The ID of the message created by this run step.
      */
     @Generated
-    @JsonProperty(value = "message_id")
-    private String messageId;
+    private final String messageId;
 
     /**
      * Creates an instance of RunStepMessageCreationReference class.
@@ -27,8 +29,7 @@ public final class RunStepMessageCreationReference {
      * @param messageId the messageId value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepMessageCreationReference(@JsonProperty(value = "message_id") String messageId) {
+    private RunStepMessageCreationReference(String messageId) {
         this.messageId = messageId;
     }
 
@@ -41,4 +42,40 @@ private RunStepMessageCreationReference(@JsonProperty(value = "message_id") Stri
     public String getMessageId() {
         return this.messageId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("message_id", this.messageId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepMessageCreationReference from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepMessageCreationReference if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepMessageCreationReference.
+     */
+    @Generated
+    public static RunStepMessageCreationReference fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String messageId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("message_id".equals(fieldName)) {
+                    messageId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new RunStepMessageCreationReference(messageId);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepRetrievalToolCall.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepRetrievalToolCall.java
index aa8cdc2bdb31..4ff7d1d7dcb2 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepRetrievalToolCall.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepRetrievalToolCall.java
@@ -5,18 +5,16 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * A record of a call to a retrieval tool, issued by the model in evaluation of a defined tool, that represents
  * executed retrieval actions.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("retrieval")
 @Immutable
 public final class RunStepRetrievalToolCall extends RunStepToolCall {
 
@@ -24,8 +22,7 @@ public final class RunStepRetrievalToolCall extends RunStepToolCall {
      * The key/value pairs produced by the retrieval tool.
      */
     @Generated
-    @JsonProperty(value = "retrieval")
-    private Map retrieval;
+    private final Map retrieval;
 
     /**
      * Creates an instance of RunStepRetrievalToolCall class.
@@ -34,10 +31,9 @@ public final class RunStepRetrievalToolCall extends RunStepToolCall {
      * @param retrieval the retrieval value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepRetrievalToolCall(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "retrieval") Map retrieval) {
+    private RunStepRetrievalToolCall(String id, Map retrieval) {
         super(id);
+        setType("retrieval");
         this.retrieval = retrieval;
     }
 
@@ -50,4 +46,50 @@ private RunStepRetrievalToolCall(@JsonProperty(value = "id") String id,
     public Map getRetrieval() {
         return this.retrieval;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", getId());
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeMapField("retrieval", this.retrieval, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepRetrievalToolCall from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepRetrievalToolCall if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepRetrievalToolCall.
+     */
+    @Generated
+    public static RunStepRetrievalToolCall fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String type = "retrieval";
+            Map retrieval = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("retrieval".equals(fieldName)) {
+                    retrieval = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepRetrievalToolCall deserializedRunStepRetrievalToolCall = new RunStepRetrievalToolCall(id, retrieval);
+            deserializedRunStepRetrievalToolCall.setType(type);
+            return deserializedRunStepRetrievalToolCall;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepStatus.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepStatus.java
index c03872658a51..c5ff81c22680 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepStatus.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepStatus.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -60,7 +59,6 @@ public RunStepStatus() {
      * @return the corresponding RunStepStatus.
      */
     @Generated
-    @JsonCreator
     public static RunStepStatus fromString(String name) {
         return fromString(name, RunStepStatus.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCall.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCall.java
index d2db6fc2088b..d5a48e6f5369 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCall.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCall.java
@@ -5,34 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of a detailed tool call as recorded within a run step for an existing run.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = RunStepToolCall.class)
-@JsonTypeName("RunStepToolCall")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "code_interpreter", value = RunStepCodeInterpreterToolCall.class),
-    @JsonSubTypes.Type(name = "retrieval", value = RunStepRetrievalToolCall.class),
-    @JsonSubTypes.Type(name = "function", value = RunStepFunctionToolCall.class) })
 @Immutable
-public class RunStepToolCall {
+public class RunStepToolCall implements JsonSerializable {
 
     /*
      * The ID of the tool call. This ID must be referenced when you submit tool outputs.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /**
      * Creates an instance of RunStepToolCall class.
@@ -40,8 +29,8 @@ public class RunStepToolCall {
      * @param id the id value to set.
      */
     @Generated
-    @JsonCreator
-    protected RunStepToolCall(@JsonProperty(value = "id") String id) {
+    protected RunStepToolCall(String id) {
+        this.type = "RunStepToolCall";
         this.id = id;
     }
 
@@ -54,4 +43,105 @@ protected RunStepToolCall(@JsonProperty(value = "id") String id) {
     public String getId() {
         return this.id;
     }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the RunStepToolCall object itself.
+     */
+    @Generated
+    protected RunStepToolCall setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepToolCall from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepToolCall if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepToolCall.
+     */
+    @Generated
+    public static RunStepToolCall fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("code_interpreter".equals(discriminatorValue)) {
+                    return RunStepCodeInterpreterToolCall.fromJson(readerToUse.reset());
+                } else if ("retrieval".equals(discriminatorValue)) {
+                    return RunStepRetrievalToolCall.fromJson(readerToUse.reset());
+                } else if ("function".equals(discriminatorValue)) {
+                    return RunStepFunctionToolCall.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static RunStepToolCall fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String type = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepToolCall deserializedRunStepToolCall = new RunStepToolCall(id);
+            deserializedRunStepToolCall.type = type;
+            return deserializedRunStepToolCall;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCallDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCallDetails.java
index af4967f62c69..1f2d56859e4d 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCallDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepToolCallDetails.java
@@ -5,17 +5,15 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The detailed information associated with a run step calling tools.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("tool_calls")
 @Immutable
 public final class RunStepToolCallDetails extends RunStepDetails {
 
@@ -23,8 +21,7 @@ public final class RunStepToolCallDetails extends RunStepDetails {
      * A list of tool call details for this run step.
      */
     @Generated
-    @JsonProperty(value = "tool_calls")
-    private List toolCalls;
+    private final List toolCalls;
 
     /**
      * Creates an instance of RunStepToolCallDetails class.
@@ -32,8 +29,8 @@ public final class RunStepToolCallDetails extends RunStepDetails {
      * @param toolCalls the toolCalls value to set.
      */
     @Generated
-    @JsonCreator
-    private RunStepToolCallDetails(@JsonProperty(value = "tool_calls") List toolCalls) {
+    private RunStepToolCallDetails(List toolCalls) {
+        setType(RunStepType.TOOL_CALLS);
         this.toolCalls = toolCalls;
     }
 
@@ -46,4 +43,46 @@ private RunStepToolCallDetails(@JsonProperty(value = "tool_calls") List getToolCalls() {
         return this.toolCalls;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType() == null ? null : getType().toString());
+        jsonWriter.writeArrayField("tool_calls", this.toolCalls, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of RunStepToolCallDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of RunStepToolCallDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the RunStepToolCallDetails.
+     */
+    @Generated
+    public static RunStepToolCallDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            RunStepType type = RunStepType.TOOL_CALLS;
+            List toolCalls = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = RunStepType.fromString(reader.getString());
+                } else if ("tool_calls".equals(fieldName)) {
+                    toolCalls = reader.readArray(reader1 -> RunStepToolCall.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            RunStepToolCallDetails deserializedRunStepToolCallDetails = new RunStepToolCallDetails(toolCalls);
+            deserializedRunStepToolCallDetails.setType(type);
+            return deserializedRunStepToolCallDetails;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepType.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepType.java
index d02d3b72277a..4bfac1749c6f 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepType.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/RunStepType.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public RunStepType() {
      * @return the corresponding RunStepType.
      */
     @Generated
-    @JsonCreator
     public static RunStepType fromString(String name) {
         return fromString(name, RunStepType.class);
     }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsAction.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsAction.java
index e76bb061e1d8..a671d64b47c3 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsAction.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsAction.java
@@ -5,16 +5,14 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The details for required tool calls that must be submitted for an assistant thread run to continue.
  */
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
-@JsonTypeName("submit_tool_outputs")
 @Immutable
 public final class SubmitToolOutputsAction extends RequiredAction {
 
@@ -22,8 +20,7 @@ public final class SubmitToolOutputsAction extends RequiredAction {
      * The details describing tools that should be called to submit tool outputs.
      */
     @Generated
-    @JsonProperty(value = "submit_tool_outputs")
-    private SubmitToolOutputsDetails submitToolOutputs;
+    private final SubmitToolOutputsDetails submitToolOutputs;
 
     /**
      * Creates an instance of SubmitToolOutputsAction class.
@@ -31,9 +28,8 @@ public final class SubmitToolOutputsAction extends RequiredAction {
      * @param submitToolOutputs the submitToolOutputs value to set.
      */
     @Generated
-    @JsonCreator
-    private SubmitToolOutputsAction(
-        @JsonProperty(value = "submit_tool_outputs") SubmitToolOutputsDetails submitToolOutputs) {
+    private SubmitToolOutputsAction(SubmitToolOutputsDetails submitToolOutputs) {
+        setType("submit_tool_outputs");
         this.submitToolOutputs = submitToolOutputs;
     }
 
@@ -46,4 +42,47 @@ private SubmitToolOutputsAction(
     public SubmitToolOutputsDetails getSubmitToolOutputs() {
         return this.submitToolOutputs;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", getType());
+        jsonWriter.writeJsonField("submit_tool_outputs", this.submitToolOutputs);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SubmitToolOutputsAction from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SubmitToolOutputsAction if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the SubmitToolOutputsAction.
+     */
+    @Generated
+    public static SubmitToolOutputsAction fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String type = "submit_tool_outputs";
+            SubmitToolOutputsDetails submitToolOutputs = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    type = reader.getString();
+                } else if ("submit_tool_outputs".equals(fieldName)) {
+                    submitToolOutputs = SubmitToolOutputsDetails.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            SubmitToolOutputsAction deserializedSubmitToolOutputsAction
+                = new SubmitToolOutputsAction(submitToolOutputs);
+            deserializedSubmitToolOutputsAction.setType(type);
+            return deserializedSubmitToolOutputsAction;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsDetails.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsDetails.java
index 23267734f0dc..aee15cf580cf 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsDetails.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/SubmitToolOutputsDetails.java
@@ -5,22 +5,24 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The details describing tools that should be called to submit tool outputs.
  */
 @Immutable
-public final class SubmitToolOutputsDetails {
+public final class SubmitToolOutputsDetails implements JsonSerializable {
 
     /*
      * The list of tool calls that must be resolved for the assistant thread run to continue.
      */
     @Generated
-    @JsonProperty(value = "tool_calls")
-    private List toolCalls;
+    private final List toolCalls;
 
     /**
      * Creates an instance of SubmitToolOutputsDetails class.
@@ -28,14 +30,12 @@ public final class SubmitToolOutputsDetails {
      * @param toolCalls the toolCalls value to set.
      */
     @Generated
-    @JsonCreator
-    private SubmitToolOutputsDetails(@JsonProperty(value = "tool_calls") List toolCalls) {
+    private SubmitToolOutputsDetails(List toolCalls) {
         this.toolCalls = toolCalls;
     }
 
     /**
-     * Get the toolCalls property: The list of tool calls that must be resolved for the assistant thread run to
-     * continue.
+     * Get the toolCalls property: The list of tool calls that must be resolved for the assistant thread run to continue.
      *
      * @return the toolCalls value.
      */
@@ -43,4 +43,40 @@ private SubmitToolOutputsDetails(@JsonProperty(value = "tool_calls") List getToolCalls() {
         return this.toolCalls;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("tool_calls", this.toolCalls, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SubmitToolOutputsDetails from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SubmitToolOutputsDetails if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the SubmitToolOutputsDetails.
+     */
+    @Generated
+    public static SubmitToolOutputsDetails fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List toolCalls = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("tool_calls".equals(fieldName)) {
+                    toolCalls = reader.readArray(reader1 -> RequiredToolCall.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new SubmitToolOutputsDetails(toolCalls);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadDeletionStatus.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadDeletionStatus.java
index 632773780809..5775a0566ac0 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadDeletionStatus.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadDeletionStatus.java
@@ -5,35 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The status of a thread deletion operation.
  */
 @Immutable
-public final class ThreadDeletionStatus {
+public final class ThreadDeletionStatus implements JsonSerializable {
 
     /*
      * The ID of the resource specified for deletion.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * A value indicating whether deletion was successful.
      */
     @Generated
-    @JsonProperty(value = "deleted")
-    private boolean deleted;
+    private final boolean deleted;
 
     /*
      * The object type, which is always 'thread.deleted'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "thread.deleted";
+    private final String object = "thread.deleted";
 
     /**
      * Creates an instance of ThreadDeletionStatus class.
@@ -42,9 +42,7 @@ public final class ThreadDeletionStatus {
      * @param deleted the deleted value to set.
      */
     @Generated
-    @JsonCreator
-    private ThreadDeletionStatus(@JsonProperty(value = "id") String id,
-        @JsonProperty(value = "deleted") boolean deleted) {
+    private ThreadDeletionStatus(String id, boolean deleted) {
         this.id = id;
         this.deleted = deleted;
     }
@@ -78,4 +76,45 @@ public boolean isDeleted() {
     public String getObject() {
         return this.object;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeBooleanField("deleted", this.deleted);
+        jsonWriter.writeStringField("object", this.object);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ThreadDeletionStatus from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ThreadDeletionStatus if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ThreadDeletionStatus.
+     */
+    @Generated
+    public static ThreadDeletionStatus fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            boolean deleted = false;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("deleted".equals(fieldName)) {
+                    deleted = reader.getBoolean();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new ThreadDeletionStatus(id, deleted);
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadInitializationMessage.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadInitializationMessage.java
index f900475a6af9..aa7b93989f23 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadInitializationMessage.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadInitializationMessage.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,39 +17,31 @@
  * A single message within an assistant thread, as provided during that thread's creation for its initial state.
  */
 @Fluent
-public final class ThreadInitializationMessage {
+public final class ThreadInitializationMessage implements JsonSerializable {
 
     /*
-     * The role associated with the assistant thread message. Currently, only 'user' is supported when providing
-     * initial messages to a new thread.
+     * The role associated with the assistant thread message. Currently, only 'user' is supported when providing initial messages to a new thread.
      */
     @Generated
-    @JsonProperty(value = "role")
-    private MessageRole role;
+    private final MessageRole role;
 
     /*
-     * The textual content of the initial message. Currently, robust input including images and annotated text may only
-     * be provided via a separate call to the create message API.
+     * The textual content of the initial message. Currently, robust input including images and annotated text may only be provided via a separate call to the create message API.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private String content;
+    private final String content;
 
     /*
      * A list of file IDs that the assistant should use. Useful for tools like retrieval and code_interpreter that can
      * access files.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
     private List fileIds;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -56,16 +51,13 @@ public final class ThreadInitializationMessage {
      * @param content the content value to set.
      */
     @Generated
-    @JsonCreator
-    public ThreadInitializationMessage(@JsonProperty(value = "role") MessageRole role,
-        @JsonProperty(value = "content") String content) {
+    public ThreadInitializationMessage(MessageRole role, String content) {
         this.role = role;
         this.content = content;
     }
 
     /**
-     * Get the role property: The role associated with the assistant thread message. Currently, only 'user' is
-     * supported when providing initial messages to a new thread.
+     * Get the role property: The role associated with the assistant thread message. Currently, only 'user' is supported when providing initial messages to a new thread.
      *
      * @return the role value.
      */
@@ -75,8 +67,7 @@ public MessageRole getRole() {
     }
 
     /**
-     * Get the content property: The textual content of the initial message. Currently, robust input including images
-     * and annotated text may only be provided via a separate call to the create message API.
+     * Get the content property: The textual content of the initial message. Currently, robust input including images and annotated text may only be provided via a separate call to the create message API.
      *
      * @return the content value.
      */
@@ -86,8 +77,7 @@ public String getContent() {
     }
 
     /**
-     * Get the fileIds property: A list of file IDs that the assistant should use. Useful for tools like retrieval and
-     * code_interpreter that can
+     * Get the fileIds property: A list of file IDs that the assistant should use. Useful for tools like retrieval and code_interpreter that can
      * access files.
      *
      * @return the fileIds value.
@@ -98,8 +88,7 @@ public List getFileIds() {
     }
 
     /**
-     * Set the fileIds property: A list of file IDs that the assistant should use. Useful for tools like retrieval and
-     * code_interpreter that can
+     * Set the fileIds property: A list of file IDs that the assistant should use. Useful for tools like retrieval and code_interpreter that can
      * access files.
      *
      * @param fileIds the fileIds value to set.
@@ -112,9 +101,7 @@ public ThreadInitializationMessage setFileIds(List fileIds) {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -124,9 +111,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the ThreadInitializationMessage object itself.
@@ -136,4 +121,56 @@ public ThreadInitializationMessage setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString());
+        jsonWriter.writeStringField("content", this.content);
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ThreadInitializationMessage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ThreadInitializationMessage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ThreadInitializationMessage.
+     */
+    @Generated
+    public static ThreadInitializationMessage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            MessageRole role = null;
+            String content = null;
+            List fileIds = null;
+            Map metadata = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("role".equals(fieldName)) {
+                    role = MessageRole.fromString(reader.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.getString();
+                } else if ("file_ids".equals(fieldName)) {
+                    fileIds = reader.readArray(reader1 -> reader1.getString());
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ThreadInitializationMessage deserializedThreadInitializationMessage
+                = new ThreadInitializationMessage(role, content);
+            deserializedThreadInitializationMessage.fileIds = fileIds;
+            deserializedThreadInitializationMessage.metadata = metadata;
+            return deserializedThreadInitializationMessage;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadMessage.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadMessage.java
index 2ff667744cea..1f6de8960944 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadMessage.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadMessage.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
@@ -17,62 +20,54 @@
  * A single, existing message within an assistant thread.
  */
 @Immutable
-public final class ThreadMessage {
+public final class ThreadMessage implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always 'thread.message'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "thread.message";
+    private final String object = "thread.message";
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The ID of the thread that this message belongs to.
      */
     @Generated
-    @JsonProperty(value = "thread_id")
-    private String threadId;
+    private final String threadId;
 
     /*
      * The role associated with the assistant thread message.
      */
     @Generated
-    @JsonProperty(value = "role")
-    private MessageRole role;
+    private final MessageRole role;
 
     /*
      * The list of content items associated with the assistant thread message.
      */
     @Generated
-    @JsonProperty(value = "content")
-    private List content;
+    private final List content;
 
     /*
      * If applicable, the ID of the assistant that authored this message.
      */
     @Generated
-    @JsonProperty(value = "assistant_id")
     private String assistantId;
 
     /*
      * If applicable, the ID of the run associated with the authoring of this message.
      */
     @Generated
-    @JsonProperty(value = "run_id")
     private String runId;
 
     /*
@@ -80,17 +75,13 @@ public final class ThreadMessage {
      * access files.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
-    private List fileIds;
+    private final List fileIds;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
-    private Map metadata;
+    private final Map metadata;
 
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
@@ -173,8 +164,7 @@ public String getRunId() {
     }
 
     /**
-     * Get the fileIds property: A list of file IDs that the assistant should use. Useful for tools like retrieval and
-     * code_interpreter that can
+     * Get the fileIds property: A list of file IDs that the assistant should use. Useful for tools like retrieval and code_interpreter that can
      * access files.
      *
      * @return the fileIds value.
@@ -185,9 +175,7 @@ public List getFileIds() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -219,14 +207,76 @@ private ThreadMessage(String id, OffsetDateTime createdAt, String threadId, Mess
         this.metadata = metadata;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("thread_id", this.threadId);
+        jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString());
+        jsonWriter.writeArrayField("content", this.content, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("assistant_id", this.assistantId);
+        jsonWriter.writeStringField("run_id", this.runId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ThreadMessage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ThreadMessage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ThreadMessage.
+     */
     @Generated
-    @JsonCreator
-    private ThreadMessage(@JsonProperty(value = "id") String id, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "thread_id") String threadId, @JsonProperty(value = "role") MessageRole role,
-        @JsonProperty(value = "content") List content,
-        @JsonProperty(value = "file_ids") List fileIds,
-        @JsonProperty(value = "metadata") Map metadata) {
-        this(id, OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), threadId, role, content,
-            fileIds, metadata);
+    public static ThreadMessage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            OffsetDateTime createdAt = null;
+            String threadId = null;
+            MessageRole role = null;
+            List content = null;
+            List fileIds = null;
+            Map metadata = null;
+            String assistantId = null;
+            String runId = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("thread_id".equals(fieldName)) {
+                    threadId = reader.getString();
+                } else if ("role".equals(fieldName)) {
+                    role = MessageRole.fromString(reader.getString());
+                } else if ("content".equals(fieldName)) {
+                    content = reader.readArray(reader1 -> MessageContent.fromJson(reader1));
+                } else if ("file_ids".equals(fieldName)) {
+                    fileIds = reader.readArray(reader1 -> reader1.getString());
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else if ("assistant_id".equals(fieldName)) {
+                    assistantId = reader.getString();
+                } else if ("run_id".equals(fieldName)) {
+                    runId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ThreadMessage deserializedThreadMessage
+                = new ThreadMessage(id, createdAt, threadId, role, content, fileIds, metadata);
+            deserializedThreadMessage.assistantId = assistantId;
+            deserializedThreadMessage.runId = runId;
+            return deserializedThreadMessage;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadRun.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadRun.java
index 94588ac510db..fbe1ea1b989c 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadRun.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ThreadRun.java
@@ -5,11 +5,15 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -17,135 +21,115 @@
  * Data representing a single evaluation run of an assistant thread.
  */
 @Immutable
-public final class ThreadRun {
+public final class ThreadRun implements JsonSerializable {
 
     /*
      * The identifier, which can be referenced in API endpoints.
      */
     @Generated
-    @JsonProperty(value = "id")
-    private String id;
+    private final String id;
 
     /*
      * The object type, which is always 'thread.run'.
      */
     @Generated
-    @JsonProperty(value = "object")
-    private String object = "thread.run";
+    private final String object = "thread.run";
 
     /*
      * The ID of the thread associated with this run.
      */
     @Generated
-    @JsonProperty(value = "thread_id")
-    private String threadId;
+    private final String threadId;
 
     /*
      * The ID of the assistant associated with the thread this run was performed against.
      */
     @Generated
-    @JsonProperty(value = "assistant_id")
-    private String assistantId;
+    private final String assistantId;
 
     /*
      * The status of the assistant thread run.
      */
     @Generated
-    @JsonProperty(value = "status")
-    private RunStatus status;
+    private final RunStatus status;
 
     /*
      * The details of the action required for the assistant thread run to continue.
      */
     @Generated
-    @JsonProperty(value = "required_action")
     private RequiredAction requiredAction;
 
     /*
      * The last error, if any, encountered by this assistant thread run.
      */
     @Generated
-    @JsonProperty(value = "last_error")
-    private RunError lastError;
+    private final RunError lastError;
 
     /*
      * The ID of the model to use.
      */
     @Generated
-    @JsonProperty(value = "model")
-    private String model;
+    private final String model;
 
     /*
      * The overridden system instructions used for this assistant thread run.
      */
     @Generated
-    @JsonProperty(value = "instructions")
-    private String instructions;
+    private final String instructions;
 
     /*
      * The overridden enabled tools used for this assistant thread run.
      */
     @Generated
-    @JsonProperty(value = "tools")
-    private List tools;
+    private final List tools;
 
     /*
      * A list of attached file IDs, ordered by creation date in ascending order.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
-    private List fileIds;
+    private final List fileIds;
 
     /*
      * The Unix timestamp, in seconds, representing when this object was created.
      */
     @Generated
-    @JsonProperty(value = "created_at")
-    private long createdAt;
+    private final long createdAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this item expires.
      */
     @Generated
-    @JsonProperty(value = "expires_at")
-    private OffsetDateTime expiresAt;
+    private final OffsetDateTime expiresAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this item was started.
      */
     @Generated
-    @JsonProperty(value = "started_at")
-    private OffsetDateTime startedAt;
+    private final OffsetDateTime startedAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this completed.
      */
     @Generated
-    @JsonProperty(value = "completed_at")
-    private OffsetDateTime completedAt;
+    private final OffsetDateTime completedAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this was cancelled.
      */
     @Generated
-    @JsonProperty(value = "cancelled_at")
-    private OffsetDateTime cancelledAt;
+    private final OffsetDateTime cancelledAt;
 
     /*
      * The Unix timestamp, in seconds, representing when this failed.
      */
     @Generated
-    @JsonProperty(value = "failed_at")
-    private OffsetDateTime failedAt;
+    private final OffsetDateTime failedAt;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
-    private Map metadata;
+    private final Map metadata;
 
     /**
      * Get the id property: The identifier, which can be referenced in API endpoints.
@@ -318,9 +302,7 @@ public OffsetDateTime getFailedAt() {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -372,22 +354,113 @@ private ThreadRun(String id, String threadId, String assistantId, RunStatus stat
         this.metadata = metadata;
     }
 
-    @Generated
-    @JsonCreator
-    private ThreadRun(@JsonProperty(value = "id") String id, @JsonProperty(value = "thread_id") String threadId,
-        @JsonProperty(value = "assistant_id") String assistantId, @JsonProperty(value = "status") RunStatus status,
-        @JsonProperty(value = "last_error") RunError lastError, @JsonProperty(value = "model") String model,
-        @JsonProperty(value = "instructions") String instructions,
-        @JsonProperty(value = "tools") List tools,
-        @JsonProperty(value = "file_ids") List fileIds, @JsonProperty(value = "created_at") long createdAt,
-        @JsonProperty(value = "expires_at") OffsetDateTime expiresAt,
-        @JsonProperty(value = "started_at") OffsetDateTime startedAt,
-        @JsonProperty(value = "completed_at") OffsetDateTime completedAt,
-        @JsonProperty(value = "cancelled_at") OffsetDateTime cancelledAt,
-        @JsonProperty(value = "failed_at") OffsetDateTime failedAt,
-        @JsonProperty(value = "metadata") Map metadata) {
-        this(id, threadId, assistantId, status, lastError, model, instructions, tools, fileIds,
-            OffsetDateTime.ofInstant(Instant.ofEpochSecond(createdAt), ZoneOffset.UTC), expiresAt, startedAt,
-            completedAt, cancelledAt, failedAt, metadata);
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("object", this.object);
+        jsonWriter.writeStringField("thread_id", this.threadId);
+        jsonWriter.writeStringField("assistant_id", this.assistantId);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeJsonField("last_error", this.lastError);
+        jsonWriter.writeStringField("model", this.model);
+        jsonWriter.writeStringField("instructions", this.instructions);
+        jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeLongField("created_at", this.createdAt);
+        jsonWriter.writeStringField("expires_at",
+            this.expiresAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.expiresAt));
+        jsonWriter.writeStringField("started_at",
+            this.startedAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.startedAt));
+        jsonWriter.writeStringField("completed_at",
+            this.completedAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.completedAt));
+        jsonWriter.writeStringField("cancelled_at",
+            this.cancelledAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.cancelledAt));
+        jsonWriter.writeStringField("failed_at",
+            this.failedAt == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.failedAt));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("required_action", this.requiredAction);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ThreadRun from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ThreadRun if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the ThreadRun.
+     */
+    @Generated
+    public static ThreadRun fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String id = null;
+            String threadId = null;
+            String assistantId = null;
+            RunStatus status = null;
+            RunError lastError = null;
+            String model = null;
+            String instructions = null;
+            List tools = null;
+            List fileIds = null;
+            OffsetDateTime createdAt = null;
+            OffsetDateTime expiresAt = null;
+            OffsetDateTime startedAt = null;
+            OffsetDateTime completedAt = null;
+            OffsetDateTime cancelledAt = null;
+            OffsetDateTime failedAt = null;
+            Map metadata = null;
+            RequiredAction requiredAction = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("id".equals(fieldName)) {
+                    id = reader.getString();
+                } else if ("thread_id".equals(fieldName)) {
+                    threadId = reader.getString();
+                } else if ("assistant_id".equals(fieldName)) {
+                    assistantId = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    status = RunStatus.fromString(reader.getString());
+                } else if ("last_error".equals(fieldName)) {
+                    lastError = RunError.fromJson(reader);
+                } else if ("model".equals(fieldName)) {
+                    model = reader.getString();
+                } else if ("instructions".equals(fieldName)) {
+                    instructions = reader.getString();
+                } else if ("tools".equals(fieldName)) {
+                    tools = reader.readArray(reader1 -> ToolDefinition.fromJson(reader1));
+                } else if ("file_ids".equals(fieldName)) {
+                    fileIds = reader.readArray(reader1 -> reader1.getString());
+                } else if ("created_at".equals(fieldName)) {
+                    createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC);
+                } else if ("expires_at".equals(fieldName)) {
+                    expiresAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("started_at".equals(fieldName)) {
+                    startedAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("completed_at".equals(fieldName)) {
+                    completedAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("cancelled_at".equals(fieldName)) {
+                    cancelledAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("failed_at".equals(fieldName)) {
+                    failedAt = reader.getNullable(nonNullReader -> OffsetDateTime.parse(nonNullReader.getString()));
+                } else if ("metadata".equals(fieldName)) {
+                    metadata = reader.readMap(reader1 -> reader1.getString());
+                } else if ("required_action".equals(fieldName)) {
+                    requiredAction = RequiredAction.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            ThreadRun deserializedThreadRun
+                = new ThreadRun(id, threadId, assistantId, status, lastError, model, instructions, tools, fileIds,
+                    createdAt, expiresAt, startedAt, completedAt, cancelledAt, failedAt, metadata);
+            deserializedThreadRun.requiredAction = requiredAction;
+            return deserializedThreadRun;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolDefinition.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolDefinition.java
index c2f1de3ec865..fd6c70d639d0 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolDefinition.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolDefinition.java
@@ -5,30 +5,117 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An abstract representation of an input tool definition that an assistant can use.
  */
-@JsonTypeInfo(
-    use = JsonTypeInfo.Id.NAME,
-    include = JsonTypeInfo.As.PROPERTY,
-    property = "type",
-    defaultImpl = ToolDefinition.class)
-@JsonTypeName("ToolDefinition")
-@JsonSubTypes({
-    @JsonSubTypes.Type(name = "code_interpreter", value = CodeInterpreterToolDefinition.class),
-    @JsonSubTypes.Type(name = "retrieval", value = RetrievalToolDefinition.class),
-    @JsonSubTypes.Type(name = "function", value = FunctionToolDefinition.class) })
 @Immutable
-public class ToolDefinition {
+public class ToolDefinition implements JsonSerializable {
 
     /**
      * Creates an instance of ToolDefinition class.
      */
     @Generated
     public ToolDefinition() {
+        this.type = "ToolDefinition";
+    }
+
+    /*
+     * The object type.
+     */
+    @Generated
+    private String type;
+
+    /**
+     * Get the type property: The object type.
+     *
+     * @return the type value.
+     */
+    @Generated
+    public String getType() {
+        return this.type;
+    }
+
+    /**
+     * Set the type property: The object type.
+     *
+     * @param type the type value to set.
+     * @return the ToolDefinition object itself.
+     */
+    @Generated
+    protected ToolDefinition setType(String type) {
+        this.type = type;
+        return this;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ToolDefinition from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ToolDefinition if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ToolDefinition.
+     */
+    @Generated
+    public static ToolDefinition fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String discriminatorValue = null;
+            try (JsonReader readerToUse = reader.bufferObject()) {
+                // Prepare for reading
+                readerToUse.nextToken();
+                while (readerToUse.nextToken() != JsonToken.END_OBJECT) {
+                    String fieldName = readerToUse.getFieldName();
+                    readerToUse.nextToken();
+                    if ("type".equals(fieldName)) {
+                        discriminatorValue = readerToUse.getString();
+                        break;
+                    } else {
+                        readerToUse.skipChildren();
+                    }
+                }
+                // Use the discriminator value to determine which subtype should be deserialized.
+                if ("code_interpreter".equals(discriminatorValue)) {
+                    return CodeInterpreterToolDefinition.fromJson(readerToUse.reset());
+                } else if ("retrieval".equals(discriminatorValue)) {
+                    return RetrievalToolDefinition.fromJson(readerToUse.reset());
+                } else if ("function".equals(discriminatorValue)) {
+                    return FunctionToolDefinition.fromJson(readerToUse.reset());
+                } else {
+                    return fromJsonKnownDiscriminator(readerToUse.reset());
+                }
+            }
+        });
+    }
+
+    @Generated
+    static ToolDefinition fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ToolDefinition deserializedToolDefinition = new ToolDefinition();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("type".equals(fieldName)) {
+                    deserializedToolDefinition.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedToolDefinition;
+        });
     }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolOutput.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolOutput.java
index f0e1778c31c3..efac0a9af258 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolOutput.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/ToolOutput.java
@@ -5,26 +5,28 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The data provided during a tool outputs submission to resolve pending tool calls and allow the model to continue.
  */
 @Fluent
-public final class ToolOutput {
+public final class ToolOutput implements JsonSerializable {
 
     /*
      * The ID of the tool call being resolved, as provided in the tool calls of a required action from a run.
      */
     @Generated
-    @JsonProperty(value = "tool_call_id")
     private String toolCallId;
 
     /*
      * The output from the tool to be submitted.
      */
     @Generated
-    @JsonProperty(value = "output")
     private String output;
 
     /**
@@ -35,8 +37,7 @@ public ToolOutput() {
     }
 
     /**
-     * Get the toolCallId property: The ID of the tool call being resolved, as provided in the tool calls of a required
-     * action from a run.
+     * Get the toolCallId property: The ID of the tool call being resolved, as provided in the tool calls of a required action from a run.
      *
      * @return the toolCallId value.
      */
@@ -46,8 +47,7 @@ public String getToolCallId() {
     }
 
     /**
-     * Set the toolCallId property: The ID of the tool call being resolved, as provided in the tool calls of a required
-     * action from a run.
+     * Set the toolCallId property: The ID of the tool call being resolved, as provided in the tool calls of a required action from a run.
      *
      * @param toolCallId the toolCallId value to set.
      * @return the ToolOutput object itself.
@@ -79,4 +79,42 @@ public ToolOutput setOutput(String output) {
         this.output = output;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("tool_call_id", this.toolCallId);
+        jsonWriter.writeStringField("output", this.output);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ToolOutput from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ToolOutput if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ToolOutput.
+     */
+    @Generated
+    public static ToolOutput fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ToolOutput deserializedToolOutput = new ToolOutput();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("tool_call_id".equals(fieldName)) {
+                    deserializedToolOutput.toolCallId = reader.getString();
+                } else if ("output".equals(fieldName)) {
+                    deserializedToolOutput.output = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedToolOutput;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/UpdateAssistantOptions.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/UpdateAssistantOptions.java
index c3c80987fedc..5f238400c404 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/UpdateAssistantOptions.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/com/azure/ai/openai/assistants/models/UpdateAssistantOptions.java
@@ -5,7 +5,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -13,57 +17,48 @@
  * The request details to use when modifying an existing assistant.
  */
 @Fluent
-public final class UpdateAssistantOptions {
+public final class UpdateAssistantOptions implements JsonSerializable {
 
     /*
      * The ID of the model to use.
      */
     @Generated
-    @JsonProperty(value = "model")
     private String model;
 
     /*
      * The modified name for the assistant to use.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The modified description for the assistant to use.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The modified system instructions for the new assistant to use.
      */
     @Generated
-    @JsonProperty(value = "instructions")
     private String instructions;
 
     /*
      * The modified collection of tools to enable for the assistant.
      */
     @Generated
-    @JsonProperty(value = "tools")
     private List tools;
 
     /*
      * The modified list of previously uploaded fileIDs to attach to the assistant.
      */
     @Generated
-    @JsonProperty(value = "file_ids")
     private List fileIds;
 
     /*
-     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information
-     * about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512
-     * characters in length.
+     * A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      */
     @Generated
-    @JsonProperty(value = "metadata")
     private Map metadata;
 
     /**
@@ -206,9 +201,7 @@ public UpdateAssistantOptions setFileIds(List fileIds) {
     }
 
     /**
-     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Get the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @return the metadata value.
      */
@@ -218,9 +211,7 @@ public Map getMetadata() {
     }
 
     /**
-     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing
-     * additional information about that object in a structured format. Keys may be up to 64 characters in length and
-     * values may be up to 512 characters in length.
+     * Set the metadata property: A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length.
      *
      * @param metadata the metadata value to set.
      * @return the UpdateAssistantOptions object itself.
@@ -230,4 +221,60 @@ public UpdateAssistantOptions setMetadata(Map metadata) {
         this.metadata = metadata;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("model", this.model);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("instructions", this.instructions);
+        jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("file_ids", this.fileIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of UpdateAssistantOptions from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of UpdateAssistantOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the UpdateAssistantOptions.
+     */
+    @Generated
+    public static UpdateAssistantOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            UpdateAssistantOptions deserializedUpdateAssistantOptions = new UpdateAssistantOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("model".equals(fieldName)) {
+                    deserializedUpdateAssistantOptions.model = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedUpdateAssistantOptions.name = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedUpdateAssistantOptions.description = reader.getString();
+                } else if ("instructions".equals(fieldName)) {
+                    deserializedUpdateAssistantOptions.instructions = reader.getString();
+                } else if ("tools".equals(fieldName)) {
+                    List tools = reader.readArray(reader1 -> ToolDefinition.fromJson(reader1));
+                    deserializedUpdateAssistantOptions.tools = tools;
+                } else if ("file_ids".equals(fieldName)) {
+                    List fileIds = reader.readArray(reader1 -> reader1.getString());
+                    deserializedUpdateAssistantOptions.fileIds = fileIds;
+                } else if ("metadata".equals(fieldName)) {
+                    Map metadata = reader.readMap(reader1 -> reader1.getString());
+                    deserializedUpdateAssistantOptions.metadata = metadata;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedUpdateAssistantOptions;
+        });
+    }
 }
diff --git a/sdk/openai/azure-ai-openai-assistants/src/main/java/module-info.java b/sdk/openai/azure-ai-openai-assistants/src/main/java/module-info.java
index d5333474b976..ae93cdadeb15 100644
--- a/sdk/openai/azure-ai-openai-assistants/src/main/java/module-info.java
+++ b/sdk/openai/azure-ai-openai-assistants/src/main/java/module-info.java
@@ -4,8 +4,11 @@
 
 module com.azure.ai.openai.assistants {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.ai.openai.assistants;
     exports com.azure.ai.openai.assistants.models;
+    opens com.azure.ai.openai.assistants.models to com.azure.core;
+    opens com.azure.ai.openai.assistants.implementation.models to com.azure.core;
     opens com.azure.ai.openai.assistants.models to com.azure.core, com.fasterxml.jackson.databind;
     opens com.azure.ai.openai.assistants.implementation.models to com.azure.core, com.fasterxml.jackson.databind;
     opens com.azure.ai.openai.assistants.implementation to com.azure.core, com.fasterxml.jackson.databind;
diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIAsyncClient.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIAsyncClient.java
index e64a406382b4..4e3c4b0f48cb 100644
--- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIAsyncClient.java
+++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIAsyncClient.java
@@ -3,19 +3,7 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.openai;
 
-import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscription;
-import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscriptionText;
-import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslation;
-import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslationText;
-import static com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl.addModelIdJson;
-import static com.azure.core.util.FluxUtil.monoError;
-
-import com.azure.ai.openai.implementation.CompletionsUtils;
-import com.azure.ai.openai.implementation.MultipartDataHelper;
-import com.azure.ai.openai.implementation.MultipartDataSerializationResult;
-import com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl;
 import com.azure.ai.openai.implementation.OpenAIClientImpl;
-import com.azure.ai.openai.implementation.OpenAIServerSentEvents;
 import com.azure.ai.openai.models.AudioTranscription;
 import com.azure.ai.openai.models.AudioTranscriptionOptions;
 import com.azure.ai.openai.models.AudioTranslation;
@@ -41,13 +29,24 @@
 import com.azure.core.http.rest.Response;
 import com.azure.core.http.rest.SimpleResponse;
 import com.azure.core.util.BinaryData;
-import com.azure.core.util.CoreUtils;
 import com.azure.core.util.FluxUtil;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscription;
+import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscriptionText;
+import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslation;
+import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslationText;
+import static com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl.addModelIdJson;
+import static com.azure.core.util.FluxUtil.monoError;
+import com.azure.ai.openai.implementation.CompletionsUtils;
+import com.azure.ai.openai.implementation.MultipartDataHelper;
+import com.azure.ai.openai.implementation.MultipartDataSerializationResult;
+import com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl;
+import com.azure.ai.openai.implementation.OpenAIServerSentEvents;
+import com.azure.core.util.CoreUtils;
 import com.azure.core.util.logging.ClientLogger;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import java.nio.ByteBuffer;
-import reactor.core.publisher.Flux;
-import reactor.core.publisher.Mono;
 
 /**
  * Initializes a new instance of the asynchronous OpenAIClient type.
@@ -559,8 +558,7 @@ public Mono> getChatCompletionsWithResponse(String dep
     /**
      * Return the embeddings for a given prompt.
      *
-     * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name
-     * (when using non-Azure OpenAI) to use for this request.
+     * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.
      * @param embeddingsOptions The configuration information for an embeddings request.
      * Embeddings measure the relatedness of text strings and are commonly used for search, clustering,
      * recommendations, and other similar scenarios.
@@ -589,8 +587,7 @@ public Mono getEmbeddings(String deploymentOrModelName, EmbeddingsOp
      * Completions support a wide variety of tasks and generate text that continues from or "completes"
      * provided prompt data.
      *
-     * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name
-     * (when using non-Azure OpenAI) to use for this request.
+     * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.
      * @param completionsOptions The configuration information for a completions request.
      * Completions support a wide variety of tasks and generate text that continues from or "completes"
      * provided prompt data.
@@ -694,8 +691,7 @@ public Flux getCompletionsStream(String deploymentOrModelName, Comp
      * Completions support a wide variety of tasks and generate text that continues from or "completes"
      * provided prompt data.
      *
-     * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name
-     * (when using non-Azure OpenAI) to use for this request.
+     * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request.
      * @param chatCompletionsOptions The configuration information for a chat completions request.
      * Completions support a wide variety of tasks and generate text that continues from or "completes"
      * provided prompt data.
@@ -753,9 +749,7 @@ public Flux getChatCompletionsStream(String deploymentOrModelNa
     /**
      * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the
      * written language corresponding to the language it was spoken in.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -781,23 +775,20 @@ public Flux getChatCompletionsStream(String deploymentOrModelNa
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on - * successful completion of {@link Mono}. + * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) Mono> getAudioTranscriptionAsResponseObjectWithResponse(String deploymentOrModelName, BinaryData audioTranscriptionOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranscriptionAsResponseObject' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranscriptionAsResponseObject' is 'multipart/form-data' return this.serviceClient.getAudioTranscriptionAsResponseObjectWithResponseAsync(deploymentOrModelName, audioTranscriptionOptions, requestOptions); } @@ -1088,39 +1079,32 @@ public Mono> getAudioTranslationTextWithResponse(String deploym /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on - * successful completion of {@link Mono}. + * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) Mono> getAudioTranscriptionAsPlainTextWithResponse(String deploymentOrModelName, BinaryData audioTranscriptionOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranscriptionAsPlainText' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranscriptionAsPlainText' is 'multipart/form-data' return this.serviceClient.getAudioTranscriptionAsPlainTextWithResponseAsync(deploymentOrModelName, audioTranscriptionOptions, requestOptions); } /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -1146,53 +1130,45 @@ Mono> getAudioTranscriptionAsPlainTextWithResponse(String d
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response} on successful completion of {@link Mono}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) Mono> getAudioTranslationAsResponseObjectWithResponse(String deploymentOrModelName, BinaryData audioTranslationOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranslationAsResponseObject' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranslationAsResponseObject' is 'multipart/form-data' return this.serviceClient.getAudioTranslationAsResponseObjectWithResponseAsync(deploymentOrModelName, audioTranslationOptions, requestOptions); } /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response} on successful completion of {@link Mono}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) Mono> getAudioTranslationAsPlainTextWithResponse(String deploymentOrModelName, BinaryData audioTranslationOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranslationAsPlainText' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranslationAsPlainText' is 'multipart/form-data' return this.serviceClient.getAudioTranslationAsPlainTextWithResponseAsync(deploymentOrModelName, audioTranslationOptions, requestOptions); } @@ -1325,8 +1301,7 @@ Mono> getImageGenerationsWithResponse(String deployme /** * Creates an image given a prompt. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param imageGenerationOptions Represents the request data used to generate images. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1441,10 +1416,8 @@ public Mono> generateSpeechFromTextWithResponse(String depl /** * Generates text-to-speech audio from the input text. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. - * @param speechGenerationOptions A representation of the request options that control the behavior of a - * text-to-speech operation. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. + * @param speechGenerationOptions A representation of the request options that control the behavior of a text-to-speech operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClient.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClient.java index 4505e47d4136..93b7e979d091 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClient.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClient.java @@ -3,18 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.openai; -import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscription; -import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscriptionText; -import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslation; -import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslationText; -import static com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl.addModelIdJson; - -import com.azure.ai.openai.implementation.CompletionsUtils; -import com.azure.ai.openai.implementation.MultipartDataHelper; -import com.azure.ai.openai.implementation.MultipartDataSerializationResult; -import com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl; import com.azure.ai.openai.implementation.OpenAIClientImpl; -import com.azure.ai.openai.implementation.OpenAIServerSentEvents; import com.azure.ai.openai.models.AudioTranscription; import com.azure.ai.openai.models.AudioTranscriptionOptions; import com.azure.ai.openai.models.AudioTranslation; @@ -40,9 +29,19 @@ import com.azure.core.http.rest.Response; import com.azure.core.http.rest.SimpleResponse; import com.azure.core.util.BinaryData; +import com.azure.core.util.logging.ClientLogger; +import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscription; +import static com.azure.ai.openai.implementation.AudioTranscriptionValidator.validateAudioResponseFormatForTranscriptionText; +import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslation; +import static com.azure.ai.openai.implementation.AudioTranslationValidator.validateAudioResponseFormatForTranslationText; +import static com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl.addModelIdJson; +import com.azure.ai.openai.implementation.CompletionsUtils; +import com.azure.ai.openai.implementation.MultipartDataHelper; +import com.azure.ai.openai.implementation.MultipartDataSerializationResult; +import com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl; +import com.azure.ai.openai.implementation.OpenAIServerSentEvents; import com.azure.core.util.CoreUtils; import com.azure.core.util.IterableStream; -import com.azure.core.util.logging.ClientLogger; import com.fasterxml.jackson.core.JsonProcessingException; import java.nio.ByteBuffer; import reactor.core.publisher.Flux; @@ -547,8 +546,7 @@ public Response getChatCompletionsWithResponse(String deploymen /** * Return the embeddings for a given prompt. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param embeddingsOptions The configuration information for an embeddings request. * Embeddings measure the relatedness of text strings and are commonly used for search, clustering, * recommendations, and other similar scenarios. @@ -576,8 +574,7 @@ public Embeddings getEmbeddings(String deploymentOrModelName, EmbeddingsOptions * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param completionsOptions The configuration information for a completions request. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. @@ -655,8 +652,7 @@ public IterableStream getCompletionsStream(String deploymentOrModel * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param chatCompletionsOptions The configuration information for a chat completions request. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. @@ -995,9 +991,7 @@ public Response getAudioTranslationTextWithResponse(String deploymentOrM /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -1023,8 +1017,7 @@ public Response getAudioTranslationTextWithResponse(String deploymentOrM
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1037,8 +1030,7 @@ public Response getAudioTranslationTextWithResponse(String deploymentOrM @ServiceMethod(returns = ReturnType.SINGLE) Response getAudioTranscriptionAsResponseObjectWithResponse(String deploymentOrModelName, BinaryData audioTranscriptionOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranscriptionAsResponseObject' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranscriptionAsResponseObject' is 'multipart/form-data' return this.serviceClient.getAudioTranscriptionAsResponseObjectWithResponse(deploymentOrModelName, audioTranscriptionOptions, requestOptions); } @@ -1046,15 +1038,12 @@ Response getAudioTranscriptionAsResponseObjectWithResponse(String de /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1067,17 +1056,14 @@ Response getAudioTranscriptionAsResponseObjectWithResponse(String de @ServiceMethod(returns = ReturnType.SINGLE) Response getAudioTranscriptionAsPlainTextWithResponse(String deploymentOrModelName, BinaryData audioTranscriptionOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranscriptionAsPlainText' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranscriptionAsPlainText' is 'multipart/form-data' return this.serviceClient.getAudioTranscriptionAsPlainTextWithResponse(deploymentOrModelName, audioTranscriptionOptions, requestOptions); } /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -1103,53 +1089,45 @@ Response getAudioTranscriptionAsPlainTextWithResponse(String deploym
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) Response getAudioTranslationAsResponseObjectWithResponse(String deploymentOrModelName, BinaryData audioTranslationOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranslationAsResponseObject' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranslationAsResponseObject' is 'multipart/form-data' return this.serviceClient.getAudioTranslationAsResponseObjectWithResponse(deploymentOrModelName, audioTranslationOptions, requestOptions); } /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) Response getAudioTranslationAsPlainTextWithResponse(String deploymentOrModelName, BinaryData audioTranslationOptions, RequestOptions requestOptions) { - // Protocol API requires serialization of parts with content-disposition and data, as operation - // 'getAudioTranslationAsPlainText' is 'multipart/form-data' + // Protocol API requires serialization of parts with content-disposition and data, as operation 'getAudioTranslationAsPlainText' is 'multipart/form-data' return this.serviceClient.getAudioTranslationAsPlainTextWithResponse(deploymentOrModelName, audioTranslationOptions, requestOptions); } @@ -1276,8 +1254,7 @@ Response getImageGenerationsWithResponse(String deploymentOrMo /** * Creates an image given a prompt. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param imageGenerationOptions Represents the request data used to generate images. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1388,10 +1365,8 @@ public Response generateSpeechFromTextWithResponse(String deployment /** * Generates text-to-speech audio from the input text. * - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. - * @param speechGenerationOptions A representation of the request options that control the behavior of a - * text-to-speech operation. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. + * @param speechGenerationOptions A representation of the request options that control the behavior of a text-to-speech operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClientBuilder.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClientBuilder.java index 2ab76b509fc2..97886aa3e787 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClientBuilder.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/OpenAIClientBuilder.java @@ -3,9 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.openai; -import static com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl.OPEN_AI_ENDPOINT; - -import com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl; import com.azure.ai.openai.implementation.OpenAIClientImpl; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ServiceClientBuilder; @@ -25,9 +22,8 @@ import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; -import com.azure.core.http.policy.CookiePolicy; -import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpPipelinePolicy; import com.azure.core.http.policy.HttpPolicyProviders; import com.azure.core.http.policy.KeyCredentialPolicy; @@ -45,6 +41,9 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import static com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl.OPEN_AI_ENDPOINT; +import com.azure.ai.openai.implementation.NonAzureOpenAIClientImpl; +import com.azure.core.http.policy.CookiePolicy; /** * A builder for creating a new instance of the OpenAIClient type. @@ -302,25 +301,30 @@ private HttpPipeline createHttpPipeline() { if (headers.getSize() > 0) { policies.add(new AddHeadersPolicy(headers)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .forEach(p -> policies.add(p)); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); policies.add(new AddDatePolicy()); policies.add(new CookiePolicy()); if (keyCredential != null) { - policies.add(useNonAzureOpenAIService() ? new KeyCredentialPolicy("Authorization", keyCredential, "Bearer") + policies.add(useNonAzureOpenAIService() + ? new KeyCredentialPolicy("Authorization", keyCredential, "Bearer") : new KeyCredentialPolicy("api-key", keyCredential)); } if (tokenCredential != null) { policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(httpLogOptions)); HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient).clientOptions(localClientOptions).build(); + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); return httpPipeline; } @@ -337,7 +341,8 @@ private NonAzureOpenAIClientImpl buildInnerNonAzureOpenAIClient() { * @return an instance of OpenAIAsyncClient. */ public OpenAIAsyncClient buildAsyncClient() { - return useNonAzureOpenAIService() ? new OpenAIAsyncClient(buildInnerNonAzureOpenAIClient()) + return useNonAzureOpenAIService() + ? new OpenAIAsyncClient(buildInnerNonAzureOpenAIClient()) : new OpenAIAsyncClient(buildInnerClient()); } @@ -347,7 +352,8 @@ public OpenAIAsyncClient buildAsyncClient() { * @return an instance of OpenAIClient. */ public OpenAIClient buildClient() { - return useNonAzureOpenAIService() ? new OpenAIClient(buildInnerNonAzureOpenAIClient()) + return useNonAzureOpenAIService() + ? new OpenAIClient(buildInnerNonAzureOpenAIClient()) : new OpenAIClient(buildInnerClient()); } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/implementation/OpenAIClientImpl.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/implementation/OpenAIClientImpl.java index 1192d91d390c..35ed37be5ffb 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/implementation/OpenAIClientImpl.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/implementation/OpenAIClientImpl.java @@ -368,23 +368,19 @@ Response getEmbeddingsSync(@HostParam("endpoint") String endpoint, /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on - * successful completion of {@link Mono}. + * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAudioTranscriptionAsPlainTextWithResponseAsync(String deploymentOrModelName, @@ -399,15 +395,12 @@ public Mono> getAudioTranscriptionAsPlainTextWithResponseAs /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -428,9 +421,7 @@ public Response getAudioTranscriptionAsPlainTextWithResponse(String /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -456,16 +447,14 @@ public Response getAudioTranscriptionAsPlainTextWithResponse(String
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on - * successful completion of {@link Mono}. + * @return transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAudioTranscriptionAsResponseObjectWithResponseAsync( @@ -480,9 +469,7 @@ public Mono> getAudioTranscriptionAsResponseObjectWithRespo /** * Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the * written language corresponding to the language it was spoken in. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -508,8 +495,7 @@ public Mono> getAudioTranscriptionAsResponseObjectWithRespo
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranscriptionOptions The configuration information for an audio transcription request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -530,23 +516,19 @@ public Response getAudioTranscriptionAsResponseObjectWithResponse(St /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response} on successful completion of {@link Mono}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAudioTranslationAsPlainTextWithResponseAsync(String deploymentOrModelName, @@ -560,23 +542,19 @@ public Mono> getAudioTranslationAsPlainTextWithResponseAsyn /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * String
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response getAudioTranslationAsPlainTextWithResponse(String deploymentOrModelName, @@ -589,9 +567,7 @@ public Response getAudioTranslationAsPlainTextWithResponse(String de /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -617,16 +593,14 @@ public Response getAudioTranslationAsPlainTextWithResponse(String de
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response} on successful completion of {@link Mono}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAudioTranslationAsResponseObjectWithResponseAsync(String deploymentOrModelName, @@ -640,9 +614,7 @@ public Mono> getAudioTranslationAsResponseObjectWithRespons /** * Gets English language transcribed text and associated metadata from provided spoken audio data. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     text: String (Required)
@@ -668,16 +640,14 @@ public Mono> getAudioTranslationAsResponseObjectWithRespons
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param audioTranslationOptions The configuration information for an audio translation request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return english language transcribed text and associated metadata from provided spoken audio data along with - * {@link Response}. + * @return english language transcribed text and associated metadata from provided spoken audio data along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response getAudioTranslationAsResponseObjectWithResponse(String deploymentOrModelName, @@ -693,9 +663,7 @@ public Response getAudioTranslationAsResponseObjectWithResponse(Stri * Gets completions for the provided input prompts. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     prompt (Required): [
@@ -722,9 +690,7 @@ public Response getAudioTranslationAsResponseObjectWithResponse(Stri
      *     model: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -815,8 +781,7 @@ public Response getAudioTranslationAsResponseObjectWithResponse(Stri
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param completionsOptions The configuration information for a completions request. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. @@ -842,9 +807,7 @@ public Mono> getCompletionsWithResponseAsync(String deploym * Gets completions for the provided input prompts. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     prompt (Required): [
@@ -871,9 +834,7 @@ public Mono> getCompletionsWithResponseAsync(String deploym
      *     model: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -964,8 +925,7 @@ public Mono> getCompletionsWithResponseAsync(String deploym
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param completionsOptions The configuration information for a completions request. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. @@ -990,13 +950,12 @@ public Response getCompletionsWithResponse(String deploymentOrModelN * Gets chat completions for the provided chat messages. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     messages (Required): [
      *          (Required){
+     *             role: String(system/assistant/user/function/tool) (Required)
      *         }
      *     ]
      *     functions (Optional): [
@@ -1024,6 +983,7 @@ public Response getCompletionsWithResponse(String deploymentOrModelN
      *     model: String (Optional)
      *     data_sources (Optional): [
      *          (Optional){
+     *             type: String(azure_search/azure_ml_index/azure_cosmos_db/elasticsearch/pinecone) (Required)
      *         }
      *     ]
      *     enhancements (Optional): {
@@ -1038,17 +998,17 @@ public Response getCompletionsWithResponse(String deploymentOrModelN
      *     logprobs: Boolean (Optional)
      *     top_logprobs: Integer (Optional)
      *     response_format (Optional): {
+     *         type: String (Required)
      *     }
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     tool_choice: BinaryData (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1060,6 +1020,7 @@ public Response getCompletionsWithResponse(String deploymentOrModelN
      *                 content: String (Required)
      *                 tool_calls (Optional): [
      *                      (Optional){
+     *                         type: String (Required)
      *                         id: String (Required)
      *                     }
      *                 ]
@@ -1103,6 +1064,7 @@ public Response getCompletionsWithResponse(String deploymentOrModelN
      *             index: int (Required)
      *             finish_reason: String(stop/length/content_filter/function_call/tool_calls) (Required)
      *             finish_details (Optional): {
+     *                 type: String (Required)
      *             }
      *             delta (Optional): (recursive schema, see delta above)
      *             content_filter_results (Optional): {
@@ -1193,8 +1155,7 @@ public Response getCompletionsWithResponse(String deploymentOrModelN
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param chatCompletionsOptions The configuration information for a chat completions request. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. @@ -1220,13 +1181,12 @@ public Mono> getChatCompletionsWithResponseAsync(String dep * Gets chat completions for the provided chat messages. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     messages (Required): [
      *          (Required){
+     *             role: String(system/assistant/user/function/tool) (Required)
      *         }
      *     ]
      *     functions (Optional): [
@@ -1254,6 +1214,7 @@ public Mono> getChatCompletionsWithResponseAsync(String dep
      *     model: String (Optional)
      *     data_sources (Optional): [
      *          (Optional){
+     *             type: String(azure_search/azure_ml_index/azure_cosmos_db/elasticsearch/pinecone) (Required)
      *         }
      *     ]
      *     enhancements (Optional): {
@@ -1268,17 +1229,17 @@ public Mono> getChatCompletionsWithResponseAsync(String dep
      *     logprobs: Boolean (Optional)
      *     top_logprobs: Integer (Optional)
      *     response_format (Optional): {
+     *         type: String (Required)
      *     }
      *     tools (Optional): [
      *          (Optional){
+     *             type: String (Required)
      *         }
      *     ]
      *     tool_choice: BinaryData (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     id: String (Required)
@@ -1290,6 +1251,7 @@ public Mono> getChatCompletionsWithResponseAsync(String dep
      *                 content: String (Required)
      *                 tool_calls (Optional): [
      *                      (Optional){
+     *                         type: String (Required)
      *                         id: String (Required)
      *                     }
      *                 ]
@@ -1333,6 +1295,7 @@ public Mono> getChatCompletionsWithResponseAsync(String dep
      *             index: int (Required)
      *             finish_reason: String(stop/length/content_filter/function_call/tool_calls) (Required)
      *             finish_details (Optional): {
+     *                 type: String (Required)
      *             }
      *             delta (Optional): (recursive schema, see delta above)
      *             content_filter_results (Optional): {
@@ -1423,8 +1386,7 @@ public Mono> getChatCompletionsWithResponseAsync(String dep
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param chatCompletionsOptions The configuration information for a chat completions request. * Completions support a wide variety of tasks and generate text that continues from or "completes" * provided prompt data. @@ -1447,9 +1409,7 @@ public Response getChatCompletionsWithResponse(String deploymentOrMo /** * Creates an image given a prompt. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     model: String (Optional)
@@ -1462,9 +1422,7 @@ public Response getChatCompletionsWithResponse(String deploymentOrMo
      *     user: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     created: long (Required)
@@ -1498,16 +1456,14 @@ public Response getChatCompletionsWithResponse(String deploymentOrMo
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param imageGenerationOptions Represents the request data used to generate images. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the result of a successful image generation operation along with {@link Response} on successful - * completion of {@link Mono}. + * @return the result of a successful image generation operation along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getImageGenerationsWithResponseAsync(String deploymentOrModelName, @@ -1520,9 +1476,7 @@ public Mono> getImageGenerationsWithResponseAsync(String de /** * Creates an image given a prompt. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     model: String (Optional)
@@ -1535,9 +1489,7 @@ public Mono> getImageGenerationsWithResponseAsync(String de
      *     user: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     created: long (Required)
@@ -1571,8 +1523,7 @@ public Mono> getImageGenerationsWithResponseAsync(String de
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param imageGenerationOptions Represents the request data used to generate images. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. @@ -1591,9 +1542,7 @@ public Response getImageGenerationsWithResponse(String deploymentOrM /** * Generates text-to-speech audio from the input text. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     input: String (Required)
@@ -1603,17 +1552,13 @@ public Response getImageGenerationsWithResponse(String deploymentOrM
      *     model: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. - * @param speechGenerationOptions A representation of the request options that control the behavior of a - * text-to-speech operation. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. + * @param speechGenerationOptions A representation of the request options that control the behavior of a text-to-speech operation. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -1632,9 +1577,7 @@ public Mono> generateSpeechFromTextWithResponseAsync(String /** * Generates text-to-speech audio from the input text. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     input: String (Required)
@@ -1644,17 +1587,13 @@ public Mono> generateSpeechFromTextWithResponseAsync(String
      *     model: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. - * @param speechGenerationOptions A representation of the request options that control the behavior of a - * text-to-speech operation. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. + * @param speechGenerationOptions A representation of the request options that control the behavior of a text-to-speech operation. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -1672,9 +1611,7 @@ public Response generateSpeechFromTextWithResponse(String deployment /** * Return the embeddings for a given prompt. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     user: String (Optional)
@@ -1685,9 +1622,7 @@ public Response generateSpeechFromTextWithResponse(String deployment
      *     input_type: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     data (Required): [
@@ -1705,8 +1640,7 @@ public Response generateSpeechFromTextWithResponse(String deployment
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param embeddingsOptions The configuration information for an embeddings request. * Embeddings measure the relatedness of text strings and are commonly used for search, clustering, * recommendations, and other similar scenarios. @@ -1717,8 +1651,7 @@ public Response generateSpeechFromTextWithResponse(String deployment * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @return representation of the response data from an embeddings request. * Embeddings measure the relatedness of text strings and are commonly used for search, clustering, - * recommendations, and other similar scenarios along with {@link Response} on successful completion of - * {@link Mono}. + * recommendations, and other similar scenarios along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getEmbeddingsWithResponseAsync(String deploymentOrModelName, @@ -1731,9 +1664,7 @@ public Mono> getEmbeddingsWithResponseAsync(String deployme /** * Return the embeddings for a given prompt. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     user: String (Optional)
@@ -1744,9 +1675,7 @@ public Mono> getEmbeddingsWithResponseAsync(String deployme
      *     input_type: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     data (Required): [
@@ -1764,8 +1693,7 @@ public Mono> getEmbeddingsWithResponseAsync(String deployme
      * }
      * }
* - * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name - * (when using non-Azure OpenAI) to use for this request. + * @param deploymentOrModelName Specifies either the model deployment name (when using Azure OpenAI) or model name (when using non-Azure OpenAI) to use for this request. * @param embeddingsOptions The configuration information for an embeddings request. * Embeddings measure the relatedness of text strings and are commonly used for search, clustering, * recommendations, and other similar scenarios. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscription.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscription.java index f47f5d68a8ad..b8e9e6febe39 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscription.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscription.java @@ -21,7 +21,7 @@ public final class AudioTranscription { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /* * The label that describes which operation type generated the accompanying response data. @@ -95,8 +95,7 @@ public String getLanguage() { } /** - * Get the duration property: The total duration of the audio processed to produce accompanying transcription - * information. + * Get the duration property: The total duration of the audio processed to produce accompanying transcription information. * * @return the duration value. */ @@ -109,8 +108,7 @@ public Duration getDuration() { } /** - * Get the segments property: A collection of information about the timing, probabilities, and other detail of each - * processed audio segment. + * Get the segments property: A collection of information about the timing, probabilities, and other detail of each processed audio segment. * * @return the segments value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscriptionFormat.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscriptionFormat.java index 163e5deb4058..6866bf30008b 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscriptionFormat.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranscriptionFormat.java @@ -39,8 +39,7 @@ public final class AudioTranscriptionFormat extends ExpandableStringEnum tokens; + private final List tokens; /* * The seek position associated with the processing of this audio segment. * Seek positions are expressed as hundredths of seconds. - * The model may process several segments from a single seek position, so while the seek position will never - * represent + * The model may process several segments from a single seek position, so while the seek position will never represent * a later time than the segment's start, the segment's start may represent a significantly later time than the * segment's associated seek position. */ @Generated @JsonProperty(value = "seek") - private int seek; + private final int seek; /** * Creates an instance of AudioTranscriptionSegment class. @@ -146,8 +144,7 @@ public int getId() { } /** - * Get the start property: The time at which this segment started relative to the beginning of the transcribed - * audio. + * Get the start property: The time at which this segment started relative to the beginning of the transcribed audio. * * @return the start value. */ @@ -229,8 +226,7 @@ public List getTokens() { /** * Get the seek property: The seek position associated with the processing of this audio segment. * Seek positions are expressed as hundredths of seconds. - * The model may process several segments from a single seek position, so while the seek position will never - * represent + * The model may process several segments from a single seek position, so while the seek position will never represent * a later time than the segment's start, the segment's start may represent a significantly later time than the * segment's associated seek position. * diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslation.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslation.java index f76e897fbc6a..298b15ee3904 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslation.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslation.java @@ -21,7 +21,7 @@ public final class AudioTranslation { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /* * The label that describes which operation type generated the accompanying response data. @@ -95,8 +95,7 @@ public String getLanguage() { } /** - * Get the duration property: The total duration of the audio processed to produce accompanying translation - * information. + * Get the duration property: The total duration of the audio processed to produce accompanying translation information. * * @return the duration value. */ @@ -109,8 +108,7 @@ public Duration getDuration() { } /** - * Get the segments property: A collection of information about the timing, probabilities, and other detail of each - * processed audio segment. + * Get the segments property: A collection of information about the timing, probabilities, and other detail of each processed audio segment. * * @return the segments value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslationFormat.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslationFormat.java index 64e6ddf8571f..4476f87234fb 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslationFormat.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AudioTranslationFormat.java @@ -39,8 +39,7 @@ public final class AudioTranslationFormat extends ExpandableStringEnum tokens; + private final List tokens; /* * The seek position associated with the processing of this audio segment. * Seek positions are expressed as hundredths of seconds. - * The model may process several segments from a single seek position, so while the seek position will never - * represent + * The model may process several segments from a single seek position, so while the seek position will never represent * a later time than the segment's start, the segment's start may represent a significantly later time than the * segment's associated seek position. */ @Generated @JsonProperty(value = "seek") - private int seek; + private final int seek; /** * Creates an instance of AudioTranslationSegment class. @@ -146,8 +144,7 @@ public int getId() { } /** - * Get the start property: The time at which this segment started relative to the beginning of the translated - * audio. + * Get the start property: The time at which this segment started relative to the beginning of the translated audio. * * @return the start value. */ @@ -229,8 +226,7 @@ public List getTokens() { /** * Get the seek property: The seek position associated with the processing of this audio segment. * Seek positions are expressed as hundredths of seconds. - * The model may process several segments from a single seek position, so while the seek position will never - * represent + * The model may process several segments from a single seek position, so while the seek position will never represent * a later time than the segment's start, the segment's start may represent a significantly later time than the * segment's associated seek position. * diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancementConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancementConfiguration.java index 822200470f08..6d61eb690a44 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancementConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancementConfiguration.java @@ -35,8 +35,7 @@ public AzureChatEnhancementConfiguration() { } /** - * Get the grounding property: A representation of the available options for the Azure OpenAI grounding - * enhancement. + * Get the grounding property: A representation of the available options for the Azure OpenAI grounding enhancement. * * @return the grounding value. */ @@ -46,8 +45,7 @@ public AzureChatGroundingEnhancementConfiguration getGrounding() { } /** - * Set the grounding property: A representation of the available options for the Azure OpenAI grounding - * enhancement. + * Set the grounding property: A representation of the available options for the Azure OpenAI grounding enhancement. * * @param grounding the grounding value to set. * @return the AzureChatEnhancementConfiguration object itself. @@ -59,8 +57,7 @@ public AzureChatEnhancementConfiguration setGrounding(AzureChatGroundingEnhancem } /** - * Get the ocr property: A representation of the available options for the Azure OpenAI optical character - * recognition (OCR) enhancement. + * Get the ocr property: A representation of the available options for the Azure OpenAI optical character recognition (OCR) enhancement. * * @return the ocr value. */ @@ -70,8 +67,7 @@ public AzureChatOCREnhancementConfiguration getOcr() { } /** - * Set the ocr property: A representation of the available options for the Azure OpenAI optical character - * recognition (OCR) enhancement. + * Set the ocr property: A representation of the available options for the Azure OpenAI optical character recognition (OCR) enhancement. * * @param ocr the ocr value to set. * @return the AzureChatEnhancementConfiguration object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancements.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancements.java index dfbde2cee117..20ef385d18f2 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancements.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatEnhancements.java @@ -8,8 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Represents the output results of Azure enhancements to chat completions, as configured via the matching input - * provided + * Represents the output results of Azure enhancements to chat completions, as configured via the matching input provided * in the request. */ @Immutable @@ -30,8 +29,7 @@ private AzureChatEnhancements() { } /** - * Get the grounding property: The grounding enhancement that returns the bounding box of the objects detected in - * the image. + * Get the grounding property: The grounding enhancement that returns the bounding box of the objects detected in the image. * * @return the grounding value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionConfiguration.java index 2cc5dd60cdde..efaebb878cae 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionConfiguration.java @@ -5,20 +5,22 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat - * completions request that should use Azure OpenAI chat extensions to augment the response behavior. - * The use of this configuration is compatible only with Azure OpenAI. + * completions request that should use Azure OpenAI chat extensions to augment the response behavior. + * The use of this configuration is compatible only with Azure OpenAI. */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type", - defaultImpl = AzureChatExtensionConfiguration.class) + defaultImpl = AzureChatExtensionConfiguration.class, + visible = true) @JsonTypeName("AzureChatExtensionConfiguration") @JsonSubTypes({ @JsonSubTypes.Type(name = "azure_search", value = AzureSearchChatExtensionConfiguration.class), @@ -34,5 +36,39 @@ public class AzureChatExtensionConfiguration { */ @Generated public AzureChatExtensionConfiguration() { + this.type = AzureChatExtensionType.fromString("AzureChatExtensionConfiguration"); + } + + /* + * The label for the type of an Azure chat extension. This typically corresponds to a matching Azure resource. + * Azure chat extensions are only compatible with Azure OpenAI. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private AzureChatExtensionType type; + + /** + * Get the type property: The label for the type of an Azure chat extension. This typically corresponds to a matching Azure resource. + * Azure chat extensions are only compatible with Azure OpenAI. + * + * @return the type value. + */ + @Generated + public AzureChatExtensionType getType() { + return this.type; + } + + /** + * Set the type property: The label for the type of an Azure chat extension. This typically corresponds to a matching Azure resource. + * Azure chat extensions are only compatible with Azure OpenAI. + * + * @param type the type value to set. + * @return the AzureChatExtensionConfiguration object itself. + */ + @Generated + protected AzureChatExtensionConfiguration setType(AzureChatExtensionType type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionDataSourceResponseCitation.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionDataSourceResponseCitation.java index fb7fef739791..c8eb0c7c7a30 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionDataSourceResponseCitation.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionDataSourceResponseCitation.java @@ -21,7 +21,7 @@ public final class AzureChatExtensionDataSourceResponseCitation { */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /* * The title of the citation. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionType.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionType.java new file mode 100644 index 000000000000..cc49cef6afef --- /dev/null +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionType.java @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.openai.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat + * completions request that should use Azure OpenAI chat extensions to augment the response behavior. + * The use of this configuration is compatible only with Azure OpenAI. + */ +public final class AzureChatExtensionType extends ExpandableStringEnum { + + /** + * Represents the use of Azure AI Search as an Azure OpenAI chat extension. + */ + @Generated + public static final AzureChatExtensionType AZURE_SEARCH = fromString("azure_search"); + + /** + * Represents the use of Azure Machine Learning index as an Azure OpenAI chat extension. + */ + @Generated + public static final AzureChatExtensionType AZURE_MACHINE_LEARNING_INDEX = fromString("azure_ml_index"); + + /** + * Represents the use of Azure Cosmos DB as an Azure OpenAI chat extension. + */ + @Generated + public static final AzureChatExtensionType AZURE_COSMOS_DB = fromString("azure_cosmos_db"); + + /** + * Represents the use of Elasticsearch® index as an Azure OpenAI chat extension. + */ + @Generated + public static final AzureChatExtensionType ELASTICSEARCH = fromString("elasticsearch"); + + /** + * Represents the use of Pinecone index as an Azure OpenAI chat extension. + */ + @Generated + public static final AzureChatExtensionType PINECONE = fromString("pinecone"); + + /** + * Creates a new instance of AzureChatExtensionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public AzureChatExtensionType() { + } + + /** + * Creates or finds a AzureChatExtensionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AzureChatExtensionType. + */ + @Generated + @JsonCreator + public static AzureChatExtensionType fromString(String name) { + return fromString(name, AzureChatExtensionType.class); + } + + /** + * Gets known AzureChatExtensionType values. + * + * @return known AzureChatExtensionType values. + */ + @Generated + public static Collection values() { + return values(AzureChatExtensionType.class); + } +} diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionsMessageContext.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionsMessageContext.java index 54e310fa973a..da2b4c294c83 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionsMessageContext.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatExtensionsMessageContext.java @@ -10,8 +10,8 @@ /** * A representation of the additional context information available when Azure OpenAI chat extensions are involved - * in the generation of a corresponding chat completions response. This context information is only populated when - * using an Azure OpenAI request configured to use a matching extension. + * in the generation of a corresponding chat completions response. This context information is only populated when + * using an Azure OpenAI request configured to use a matching extension. */ @Immutable public final class AzureChatExtensionsMessageContext { @@ -24,11 +24,10 @@ private AzureChatExtensionsMessageContext() { } /* - * The contextual information associated with the Azure chat extensions used for a chat completions request. - * These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in - * the - * course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat - * extensions. + * The contextual information associated with the Azure chat extensions used for a chat completions request. + * These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the + * course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat + * extensions. */ @Generated @JsonProperty(value = "citations") @@ -42,12 +41,10 @@ private AzureChatExtensionsMessageContext() { private String intent; /** - * Get the citations property: The contextual information associated with the Azure chat extensions used for a - * chat completions request. - * These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in - * the - * course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat - * extensions. + * Get the citations property: The contextual information associated with the Azure chat extensions used for a chat completions request. + * These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the + * course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat + * extensions. * * @return the citations value. */ @@ -57,8 +54,7 @@ public List getCitations() { } /** - * Get the intent property: The detected intent from the chat history, used to pass to the next turn to carry over - * the context. + * Get the intent property: The detected intent from the chat history, used to pass to the next turn to carry over the context. * * @return the intent value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatGroundingEnhancementConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatGroundingEnhancementConfiguration.java index fd6b8e314652..4f8ed8c044de 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatGroundingEnhancementConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatGroundingEnhancementConfiguration.java @@ -19,7 +19,7 @@ public final class AzureChatGroundingEnhancementConfiguration { */ @Generated @JsonProperty(value = "enabled") - private boolean enabled; + private final boolean enabled; /** * Creates an instance of AzureChatGroundingEnhancementConfiguration class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatOCREnhancementConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatOCREnhancementConfiguration.java index b0140d07cc17..4abff19de85a 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatOCREnhancementConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureChatOCREnhancementConfiguration.java @@ -19,7 +19,7 @@ public final class AzureChatOCREnhancementConfiguration { */ @Generated @JsonProperty(value = "enabled") - private boolean enabled; + private final boolean enabled; /** * Creates an instance of AzureChatOCREnhancementConfiguration class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionConfiguration.java index d8b7bf7414bb..b2823a186c88 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionConfiguration.java @@ -14,7 +14,11 @@ * A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat * extension. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = AzureCosmosDBChatExtensionConfiguration.class, + visible = true) @JsonTypeName("azure_cosmos_db") @Immutable public final class AzureCosmosDBChatExtensionConfiguration extends AzureChatExtensionConfiguration { @@ -24,7 +28,7 @@ public final class AzureCosmosDBChatExtensionConfiguration extends AzureChatExte */ @Generated @JsonProperty(value = "parameters") - private AzureCosmosDBChatExtensionParameters parameters; + private final AzureCosmosDBChatExtensionParameters parameters; /** * Get the parameters property: The parameters to use when configuring Azure OpenAI CosmosDB chat extensions. @@ -45,6 +49,7 @@ public AzureCosmosDBChatExtensionParameters getParameters() { @JsonCreator public AzureCosmosDBChatExtensionConfiguration( @JsonProperty(value = "parameters") AzureCosmosDBChatExtensionParameters parameters) { + setType(AzureChatExtensionType.AZURE_COSMOS_DB); this.parameters = parameters; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionParameters.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionParameters.java index ed6752766d1e..5ade7c259b70 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionParameters.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBChatExtensionParameters.java @@ -17,8 +17,7 @@ public final class AzureCosmosDBChatExtensionParameters { /* * The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -42,17 +41,14 @@ public final class AzureCosmosDBChatExtensionParameters { private Boolean inScope; /* - * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the - * precision but lower recall of the answer. + * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */ @Generated @JsonProperty(value = "strictness") private Integer strictness; /* - * Give the model instructions about how it should behave and any context it should reference when generating a - * response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token - * limit for it, and it counts against the overall token limit. + * Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. */ @Generated @JsonProperty(value = "role_information") @@ -63,40 +59,39 @@ public final class AzureCosmosDBChatExtensionParameters { */ @Generated @JsonProperty(value = "database_name") - private String databaseName; + private final String databaseName; /* * The name of the Azure Cosmos DB resource container. */ @Generated @JsonProperty(value = "container_name") - private String containerName; + private final String containerName; /* * The MongoDB vCore index name to use with Azure Cosmos DB. */ @Generated @JsonProperty(value = "index_name") - private String indexName; + private final String indexName; /* * Customized field mapping behavior to use when interacting with the search index. */ @Generated @JsonProperty(value = "fields_mapping") - private AzureCosmosDBFieldMappingOptions fieldsMapping; + private final AzureCosmosDBFieldMappingOptions fieldsMapping; /* * The embedding dependency for vector search. */ @Generated @JsonProperty(value = "embedding_dependency") - private OnYourDataVectorizationSource embeddingDependency; + private final OnYourDataVectorizationSource embeddingDependency; /** * Get the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -110,8 +105,7 @@ public OnYourDataAuthenticationOptions getAuthentication() { /** * Set the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -170,8 +164,7 @@ public AzureCosmosDBChatExtensionParameters setInScope(Boolean inScope) { } /** - * Get the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Get the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @return the strictness value. */ @@ -181,8 +174,7 @@ public Integer getStrictness() { } /** - * Set the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Set the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @param strictness the strictness value to set. * @return the AzureCosmosDBChatExtensionParameters object itself. @@ -194,9 +186,7 @@ public AzureCosmosDBChatExtensionParameters setStrictness(Integer strictness) { } /** - * Get the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Get the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @return the roleInformation value. */ @@ -206,9 +196,7 @@ public String getRoleInformation() { } /** - * Set the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Set the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @param roleInformation the roleInformation value to set. * @return the AzureCosmosDBChatExtensionParameters object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBFieldMappingOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBFieldMappingOptions.java index 51e1dfddd0b4..ac0d3f6376dc 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBFieldMappingOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureCosmosDBFieldMappingOptions.java @@ -20,7 +20,7 @@ public final class AzureCosmosDBFieldMappingOptions { */ @Generated @JsonProperty(value = "vector_fields") - private List vectorFields; + private final List vectorFields; /** * Get the vectorFields property: The names of fields that represent vector data. @@ -58,7 +58,7 @@ public List getVectorFields() { */ @Generated @JsonProperty(value = "content_fields") - private List contentFields; + private final List contentFields; /* * The separator pattern that content fields should use. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancement.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancement.java index ee7574f9cc5e..5d3c90b7a856 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancement.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancement.java @@ -20,7 +20,7 @@ public final class AzureGroundingEnhancement { */ @Generated @JsonProperty(value = "lines") - private List lines; + private final List lines; /** * Creates an instance of AzureGroundingEnhancement class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementCoordinatePoint.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementCoordinatePoint.java index fb062532e87f..dc90a0ca9b3d 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementCoordinatePoint.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementCoordinatePoint.java @@ -19,14 +19,14 @@ public final class AzureGroundingEnhancementCoordinatePoint { */ @Generated @JsonProperty(value = "x") - private double x; + private final double x; /* * The y-coordinate (vertical axis) of the point. */ @Generated @JsonProperty(value = "y") - private double y; + private final double y; /** * Creates an instance of AzureGroundingEnhancementCoordinatePoint class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLine.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLine.java index 9e8f9e625d31..71f31f36eae2 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLine.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLine.java @@ -20,14 +20,14 @@ public final class AzureGroundingEnhancementLine { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /* * An array of spans that represent detected objects and its bounding box information. */ @Generated @JsonProperty(value = "spans") - private List spans; + private final List spans; /** * Creates an instance of AzureGroundingEnhancementLine class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLineSpan.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLineSpan.java index 2a31f58808e9..9c24ac6cb1fa 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLineSpan.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureGroundingEnhancementLineSpan.java @@ -20,7 +20,7 @@ public final class AzureGroundingEnhancementLineSpan { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /* * The character offset within the text where the span begins. This offset is defined as the position of the first @@ -28,21 +28,21 @@ public final class AzureGroundingEnhancementLineSpan { */ @Generated @JsonProperty(value = "offset") - private int offset; + private final int offset; /* * The length of the span in characters, measured in Unicode codepoints. */ @Generated @JsonProperty(value = "length") - private int length; + private final int length; /* * An array of objects representing points in the polygon that encloses the detected object. */ @Generated @JsonProperty(value = "polygon") - private List polygon; + private final List polygon; /** * Creates an instance of AzureGroundingEnhancementLineSpan class. @@ -74,8 +74,7 @@ public String getText() { } /** - * Get the offset property: The character offset within the text where the span begins. This offset is defined as - * the position of the first + * Get the offset property: The character offset within the text where the span begins. This offset is defined as the position of the first * character of the span, counting from the start of the text as Unicode codepoints. * * @return the offset value. @@ -96,8 +95,7 @@ public int getLength() { } /** - * Get the polygon property: An array of objects representing points in the polygon that encloses the detected - * object. + * Get the polygon property: An array of objects representing points in the polygon that encloses the detected object. * * @return the polygon value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionConfiguration.java index 4d389cca2a68..6850f9dfa35c 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionConfiguration.java @@ -14,7 +14,11 @@ * A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure * OpenAI chat extension. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = AzureMachineLearningIndexChatExtensionConfiguration.class, + visible = true) @JsonTypeName("azure_ml_index") @Immutable public final class AzureMachineLearningIndexChatExtensionConfiguration extends AzureChatExtensionConfiguration { @@ -24,7 +28,7 @@ public final class AzureMachineLearningIndexChatExtensionConfiguration extends A */ @Generated @JsonProperty(value = "parameters") - private AzureMachineLearningIndexChatExtensionParameters parameters; + private final AzureMachineLearningIndexChatExtensionParameters parameters; /** * Get the parameters property: The parameters for the Azure Machine Learning vector index chat extension. @@ -45,6 +49,7 @@ public AzureMachineLearningIndexChatExtensionParameters getParameters() { @JsonCreator public AzureMachineLearningIndexChatExtensionConfiguration( @JsonProperty(value = "parameters") AzureMachineLearningIndexChatExtensionParameters parameters) { + setType(AzureChatExtensionType.AZURE_MACHINE_LEARNING_INDEX); this.parameters = parameters; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionParameters.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionParameters.java index b347d9a7d3d4..9cfcba862cda 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionParameters.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureMachineLearningIndexChatExtensionParameters.java @@ -9,16 +9,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Parameters for the Azure Machine Learning vector index chat extension. The supported authentication types are - * AccessToken, SystemAssignedManagedIdentity and UserAssignedManagedIdentity. + * Parameters for the Azure Machine Learning vector index chat extension. The supported authentication types are AccessToken, SystemAssignedManagedIdentity and UserAssignedManagedIdentity. */ @Fluent public final class AzureMachineLearningIndexChatExtensionParameters { /* * The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -42,17 +40,14 @@ public final class AzureMachineLearningIndexChatExtensionParameters { private Boolean inScope; /* - * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the - * precision but lower recall of the answer. + * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */ @Generated @JsonProperty(value = "strictness") private Integer strictness; /* - * Give the model instructions about how it should behave and any context it should reference when generating a - * response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token - * limit for it, and it counts against the overall token limit. + * Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. */ @Generated @JsonProperty(value = "role_information") @@ -63,21 +58,21 @@ public final class AzureMachineLearningIndexChatExtensionParameters { */ @Generated @JsonProperty(value = "project_resource_id") - private String projectResourceId; + private final String projectResourceId; /* * The Azure Machine Learning vector index name. */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /* * The version of the Azure Machine Learning vector index. */ @Generated @JsonProperty(value = "version") - private String version; + private final String version; /* * Search filter. Only supported if the Azure Machine Learning vector index is of type AzureSearch. @@ -105,8 +100,7 @@ public AzureMachineLearningIndexChatExtensionParameters( /** * Get the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -120,8 +114,7 @@ public OnYourDataAuthenticationOptions getAuthentication() { /** * Set the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -181,8 +174,7 @@ public AzureMachineLearningIndexChatExtensionParameters setInScope(Boolean inSco } /** - * Get the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Get the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @return the strictness value. */ @@ -192,8 +184,7 @@ public Integer getStrictness() { } /** - * Set the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Set the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @param strictness the strictness value to set. * @return the AzureMachineLearningIndexChatExtensionParameters object itself. @@ -205,9 +196,7 @@ public AzureMachineLearningIndexChatExtensionParameters setStrictness(Integer st } /** - * Get the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Get the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @return the roleInformation value. */ @@ -217,9 +206,7 @@ public String getRoleInformation() { } /** - * Set the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Set the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @param roleInformation the roleInformation value to set. * @return the AzureMachineLearningIndexChatExtensionParameters object itself. @@ -261,8 +248,7 @@ public String getVersion() { } /** - * Get the filter property: Search filter. Only supported if the Azure Machine Learning vector index is of type - * AzureSearch. + * Get the filter property: Search filter. Only supported if the Azure Machine Learning vector index is of type AzureSearch. * * @return the filter value. */ @@ -272,8 +258,7 @@ public String getFilter() { } /** - * Set the filter property: Search filter. Only supported if the Azure Machine Learning vector index is of type - * AzureSearch. + * Set the filter property: Search filter. Only supported if the Azure Machine Learning vector index is of type AzureSearch. * * @param filter the filter value to set. * @return the AzureMachineLearningIndexChatExtensionParameters object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionConfiguration.java index 3bd5d8fe3573..df2f8e3d5a26 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionConfiguration.java @@ -14,7 +14,11 @@ * A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat * extension. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = AzureSearchChatExtensionConfiguration.class, + visible = true) @JsonTypeName("azure_search") @Immutable public final class AzureSearchChatExtensionConfiguration extends AzureChatExtensionConfiguration { @@ -24,7 +28,7 @@ public final class AzureSearchChatExtensionConfiguration extends AzureChatExtens */ @Generated @JsonProperty(value = "parameters") - private AzureSearchChatExtensionParameters parameters; + private final AzureSearchChatExtensionParameters parameters; /** * Creates an instance of AzureSearchChatExtensionConfiguration class. @@ -35,6 +39,7 @@ public final class AzureSearchChatExtensionConfiguration extends AzureChatExtens @JsonCreator public AzureSearchChatExtensionConfiguration( @JsonProperty(value = "parameters") AzureSearchChatExtensionParameters parameters) { + setType(AzureChatExtensionType.AZURE_SEARCH); this.parameters = parameters; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionParameters.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionParameters.java index 59e32a7f0095..8c505cf80eeb 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionParameters.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/AzureSearchChatExtensionParameters.java @@ -9,16 +9,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication - * types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity. + * Parameters for Azure Cognitive Search when used as an Azure OpenAI chat extension. The supported authentication types are APIKey, SystemAssignedManagedIdentity and UserAssignedManagedIdentity. */ @Fluent public final class AzureSearchChatExtensionParameters { /* * The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -42,17 +40,14 @@ public final class AzureSearchChatExtensionParameters { private Boolean inScope; /* - * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the - * precision but lower recall of the answer. + * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */ @Generated @JsonProperty(value = "strictness") private Integer strictness; /* - * Give the model instructions about how it should behave and any context it should reference when generating a - * response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token - * limit for it, and it counts against the overall token limit. + * Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. */ @Generated @JsonProperty(value = "role_information") @@ -63,14 +58,14 @@ public final class AzureSearchChatExtensionParameters { */ @Generated @JsonProperty(value = "endpoint") - private String endpoint; + private final String endpoint; /* * The name of the index to use as available in the referenced Azure Cognitive Search resource. */ @Generated @JsonProperty(value = "index_name") - private String indexName; + private final String indexName; /* * Customized field mapping behavior to use when interacting with the search index. @@ -123,8 +118,7 @@ public AzureSearchChatExtensionParameters(@JsonProperty(value = "endpoint") Stri /** * Get the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -138,8 +132,7 @@ public OnYourDataAuthenticationOptions getAuthentication() { /** * Set the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -198,8 +191,7 @@ public AzureSearchChatExtensionParameters setInScope(Boolean inScope) { } /** - * Get the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Get the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @return the strictness value. */ @@ -209,8 +201,7 @@ public Integer getStrictness() { } /** - * Set the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Set the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @param strictness the strictness value to set. * @return the AzureSearchChatExtensionParameters object itself. @@ -222,9 +213,7 @@ public AzureSearchChatExtensionParameters setStrictness(Integer strictness) { } /** - * Get the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Get the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @return the roleInformation value. */ @@ -234,9 +223,7 @@ public String getRoleInformation() { } /** - * Set the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Set the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @param roleInformation the roleInformation value to set. * @return the AzureSearchChatExtensionParameters object itself. @@ -258,8 +245,7 @@ public String getEndpoint() { } /** - * Get the indexName property: The name of the index to use as available in the referenced Azure Cognitive Search - * resource. + * Get the indexName property: The name of the index to use as available in the referenced Azure Cognitive Search resource. * * @return the indexName value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoice.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoice.java index fb9f118474a6..ce347b877339 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoice.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoice.java @@ -28,14 +28,14 @@ public final class ChatChoice { */ @Generated @JsonProperty(value = "index") - private int index; + private final int index; /* * The reason that this chat completions choice completed its generated. */ @Generated @JsonProperty(value = "finish_reason") - private CompletionsFinishReason finishReason; + private final CompletionsFinishReason finishReason; /* * The delta message content for a streaming response. @@ -94,8 +94,7 @@ public ChatResponseMessage getDelta() { private ContentFilterResultsForChoice contentFilterResults; /** - * Get the contentFilterResults property: Information about the content filtering category (hate, sexual, violence, - * self_harm), if it + * Get the contentFilterResults property: Information about the content filtering category (hate, sexual, violence, self_harm), if it * has been detected, as well as the severity level (very_low, low, medium, high-scale that * determines the intensity and risk level of harmful content) and if it has been filtered or not. * @@ -115,10 +114,8 @@ public ContentFilterResultsForChoice getContentFilterResults() { private ChatFinishDetails finishDetails; /* - * Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching - * input - * provided in the request. This supplementary information is only available when using Azure OpenAI and only when - * the + * Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching input + * provided in the request. This supplementary information is only available when using Azure OpenAI and only when the * request is configured to use enhancements. */ @Generated @@ -126,8 +123,7 @@ public ContentFilterResultsForChoice getContentFilterResults() { private AzureChatEnhancements enhancements; /** - * Get the finishDetails property: The reason the model stopped generating tokens, together with any applicable - * details. + * Get the finishDetails property: The reason the model stopped generating tokens, together with any applicable details. * This structured representation replaces 'finish_reason' for some models. * * @return the finishDetails value. @@ -138,10 +134,8 @@ public ChatFinishDetails getFinishDetails() { } /** - * Get the enhancements property: Represents the output results of Azure OpenAI enhancements to chat completions, - * as configured via the matching input - * provided in the request. This supplementary information is only available when using Azure OpenAI and only when - * the + * Get the enhancements property: Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching input + * provided in the request. This supplementary information is only available when using Azure OpenAI and only when the * request is configured to use enhancements. * * @return the enhancements value. @@ -156,7 +150,7 @@ public AzureChatEnhancements getEnhancements() { */ @Generated @JsonProperty(value = "logprobs") - private ChatChoiceLogProbabilityInfo logprobs; + private final ChatChoiceLogProbabilityInfo logprobs; /** * Creates an instance of ChatChoice class. @@ -176,8 +170,7 @@ private ChatChoice(@JsonProperty(value = "logprobs") ChatChoiceLogProbabilityInf } /** - * Get the logprobs property: The log probability information for this choice, as enabled via the 'logprobs' - * request option. + * Get the logprobs property: The log probability information for this choice, as enabled via the 'logprobs' request option. * * @return the logprobs value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoiceLogProbabilityInfo.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoiceLogProbabilityInfo.java index 5869c3369cb8..c378c4026ce8 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoiceLogProbabilityInfo.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatChoiceLogProbabilityInfo.java @@ -16,12 +16,11 @@ public final class ChatChoiceLogProbabilityInfo { /* - * The list of log probability information entries for the choice's message content tokens, as requested via the - * 'logprobs' option. + * The list of log probability information entries for the choice's message content tokens, as requested via the 'logprobs' option. */ @Generated @JsonProperty(value = "content") - private List content; + private final List content; /** * Creates an instance of ChatChoiceLogProbabilityInfo class. @@ -35,8 +34,7 @@ private ChatChoiceLogProbabilityInfo(@JsonProperty(value = "content") List choices; + private final List choices; /* * Usage information for tokens processed and generated as part of this completions operation. */ @Generated @JsonProperty(value = "usage") - private CompletionsUsage usage; + private final CompletionsUsage usage; /** * Get the id property: A unique identifier associated with this chat completions response. @@ -66,8 +66,7 @@ public List getChoices() { } /** - * Get the usage property: Usage information for tokens processed and generated as part of this completions - * operation. + * Get the usage property: Usage information for tokens processed and generated as part of this completions operation. * * @return the usage value. */ @@ -82,11 +81,10 @@ public CompletionsUsage getUsage() { */ @Generated @JsonProperty(value = "created") - private long createdAt; + private final long createdAt; /** - * Get the createdAt property: The first timestamp associated with generation activity for this completions - * response, + * Get the createdAt property: The first timestamp associated with generation activity for this completions response, * represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970. * * @return the createdAt value. @@ -129,8 +127,7 @@ public List getPromptFilterResults() { } /* - * Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made - * that + * Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that * might impact determinism. */ @Generated @@ -138,8 +135,7 @@ public List getPromptFilterResults() { private String systemFingerprint; /** - * Get the systemFingerprint property: Can be used in conjunction with the `seed` request parameter to understand - * when backend changes have been made that + * Get the systemFingerprint property: Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that * might impact determinism. * * @return the systemFingerprint value. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolCall.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolCall.java index 8b29b5182587..92db0866b409 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolCall.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolCall.java @@ -14,7 +14,11 @@ * A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents * a function invocation needed for a subsequent chat completions request to resolve. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatCompletionsFunctionToolCall.class, + visible = true) @JsonTypeName("function") @Immutable public final class ChatCompletionsFunctionToolCall extends ChatCompletionsToolCall { @@ -24,7 +28,7 @@ public final class ChatCompletionsFunctionToolCall extends ChatCompletionsToolCa */ @Generated @JsonProperty(value = "function") - private FunctionCall function; + private final FunctionCall function; /** * Creates an instance of ChatCompletionsFunctionToolCall class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolDefinition.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolDefinition.java index f8c69068b365..6fb65a15b5f2 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolDefinition.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolDefinition.java @@ -13,7 +13,11 @@ /** * The definition information for a chat completions function tool that can call a function in response to a tool call. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatCompletionsFunctionToolDefinition.class, + visible = true) @JsonTypeName("function") @Immutable public final class ChatCompletionsFunctionToolDefinition extends ChatCompletionsToolDefinition { @@ -23,7 +27,7 @@ public final class ChatCompletionsFunctionToolDefinition extends ChatCompletions */ @Generated @JsonProperty(value = "function") - private FunctionDefinition function; + private final FunctionDefinition function; /** * Creates an instance of ChatCompletionsFunctionToolDefinition class. @@ -33,6 +37,7 @@ public final class ChatCompletionsFunctionToolDefinition extends ChatCompletions @Generated @JsonCreator public ChatCompletionsFunctionToolDefinition(@JsonProperty(value = "function") FunctionDefinition function) { + setType("function"); this.function = function; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolSelection.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolSelection.java index 4314814e18c9..239e3635f8be 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolSelection.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsFunctionToolSelection.java @@ -19,7 +19,7 @@ public final class ChatCompletionsFunctionToolSelection { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /** * Creates an instance of ChatCompletionsFunctionToolSelection class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsJsonResponseFormat.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsJsonResponseFormat.java index f5383484f385..831f1e31426d 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsJsonResponseFormat.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsJsonResponseFormat.java @@ -11,7 +11,11 @@ /** * A response format for Chat Completions that restricts responses to emitting valid JSON objects. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatCompletionsJsonResponseFormat.class, + visible = true) @JsonTypeName("json_object") @Immutable public final class ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat { @@ -21,5 +25,6 @@ public final class ChatCompletionsJsonResponseFormat extends ChatCompletionsResp */ @Generated public ChatCompletionsJsonResponseFormat() { + setType("json_object"); } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedFunctionToolSelection.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedFunctionToolSelection.java index 01bc641aebd3..6b14a9fc9424 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedFunctionToolSelection.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedFunctionToolSelection.java @@ -13,7 +13,11 @@ /** * A tool selection of a specific, named function tool that will limit chat completions to using the named function. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatCompletionsNamedFunctionToolSelection.class, + visible = true) @JsonTypeName("function") @Immutable public final class ChatCompletionsNamedFunctionToolSelection extends ChatCompletionsNamedToolSelection { @@ -23,7 +27,7 @@ public final class ChatCompletionsNamedFunctionToolSelection extends ChatComplet */ @Generated @JsonProperty(value = "function") - private ChatCompletionsFunctionToolSelection function; + private final ChatCompletionsFunctionToolSelection function; /** * Creates an instance of ChatCompletionsNamedFunctionToolSelection class. @@ -34,6 +38,7 @@ public final class ChatCompletionsNamedFunctionToolSelection extends ChatComplet @JsonCreator public ChatCompletionsNamedFunctionToolSelection( @JsonProperty(value = "function") ChatCompletionsFunctionToolSelection function) { + setType("function"); this.function = function; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedToolSelection.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedToolSelection.java index 54150a7de7a5..11d57f65d3be 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedToolSelection.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsNamedToolSelection.java @@ -5,7 +5,9 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -14,9 +16,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type", - defaultImpl = ChatCompletionsNamedToolSelection.class) + defaultImpl = ChatCompletionsNamedToolSelection.class, + visible = true) @JsonTypeName("ChatCompletionsNamedToolSelection") @JsonSubTypes({ @JsonSubTypes.Type(name = "function", value = ChatCompletionsNamedFunctionToolSelection.class) }) @Immutable @@ -27,5 +29,36 @@ public class ChatCompletionsNamedToolSelection { */ @Generated public ChatCompletionsNamedToolSelection() { + this.type = "ChatCompletionsNamedToolSelection"; + } + + /* + * The object type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private String type; + + /** + * Get the type property: The object type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The object type. + * + * @param type the type value to set. + * @return the ChatCompletionsNamedToolSelection object itself. + */ + @Generated + protected ChatCompletionsNamedToolSelection setType(String type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsOptions.java index 4cf7a6ca2718..19afa78bcabc 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsOptions.java @@ -3,15 +3,15 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.openai.models; -import com.azure.ai.openai.implementation.models.FunctionCallPreset; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.core.util.BinaryData; import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Map; +import com.azure.ai.openai.implementation.models.FunctionCallPreset; +import com.fasterxml.jackson.annotation.JsonIgnore; /** * The configuration information for a chat completions request. @@ -29,7 +29,7 @@ public final class ChatCompletionsOptions { */ @Generated @JsonProperty(value = "messages") - private List messages; + private final List messages; /* * The maximum number of tokens to generate. @@ -180,8 +180,7 @@ public ChatCompletionsOptions setMaxTokens(Integer maxTokens) { } /** - * Get the temperature property: The sampling temperature to use that controls the apparent creativity of generated - * completions. + * Get the temperature property: The sampling temperature to use that controls the apparent creativity of generated completions. * Higher values will make output more random while lower values will make results more focused * and deterministic. * It is not recommended to modify temperature and top_p for the same completions request as the @@ -195,8 +194,7 @@ public Double getTemperature() { } /** - * Set the temperature property: The sampling temperature to use that controls the apparent creativity of generated - * completions. + * Set the temperature property: The sampling temperature to use that controls the apparent creativity of generated completions. * Higher values will make output more random while lower values will make results more focused * and deterministic. * It is not recommended to modify temperature and top_p for the same completions request as the @@ -212,8 +210,7 @@ public ChatCompletionsOptions setTemperature(Double temperature) { } /** - * Get the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes - * the + * Get the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes the * model to consider the results of tokens with the provided probability mass. As an example, a * value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be * considered. @@ -228,8 +225,7 @@ public Double getTopP() { } /** - * Set the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes - * the + * Set the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes the * model to consider the results of tokens with the provided probability mass. As an example, a * value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be * considered. @@ -246,8 +242,7 @@ public ChatCompletionsOptions setTopP(Double topP) { } /** - * Get the logitBias property: A map between GPT token IDs and bias scores that influences the probability of - * specific tokens + * Get the logitBias property: A map between GPT token IDs and bias scores that influences the probability of specific tokens * appearing in a completions response. Token IDs are computed via external tokenizer tools, while * bias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to * a full ban or exclusive selection of a token, respectively. The exact behavior of a given bias @@ -261,8 +256,7 @@ public Map getLogitBias() { } /** - * Set the logitBias property: A map between GPT token IDs and bias scores that influences the probability of - * specific tokens + * Set the logitBias property: A map between GPT token IDs and bias scores that influences the probability of specific tokens * appearing in a completions response. Token IDs are computed via external tokenizer tools, while * bias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to * a full ban or exclusive selection of a token, respectively. The exact behavior of a given bias @@ -352,8 +346,7 @@ public ChatCompletionsOptions setStop(List stop) { } /** - * Get the presencePenalty property: A value that influences the probability of generated tokens appearing based on - * their existing + * Get the presencePenalty property: A value that influences the probability of generated tokens appearing based on their existing * presence in generated text. * Positive values will make tokens less likely to appear when they already exist and increase the * model's likelihood to output new topics. @@ -366,8 +359,7 @@ public Double getPresencePenalty() { } /** - * Set the presencePenalty property: A value that influences the probability of generated tokens appearing based on - * their existing + * Set the presencePenalty property: A value that influences the probability of generated tokens appearing based on their existing * presence in generated text. * Positive values will make tokens less likely to appear when they already exist and increase the * model's likelihood to output new topics. @@ -382,8 +374,7 @@ public ChatCompletionsOptions setPresencePenalty(Double presencePenalty) { } /** - * Get the frequencyPenalty property: A value that influences the probability of generated tokens appearing based - * on their cumulative + * Get the frequencyPenalty property: A value that influences the probability of generated tokens appearing based on their cumulative * frequency in generated text. * Positive values will make tokens less likely to appear as their frequency increases and * decrease the likelihood of the model repeating the same statements verbatim. @@ -396,8 +387,7 @@ public Double getFrequencyPenalty() { } /** - * Set the frequencyPenalty property: A value that influences the probability of generated tokens appearing based - * on their cumulative + * Set the frequencyPenalty property: A value that influences the probability of generated tokens appearing based on their cumulative * frequency in generated text. * Positive values will make tokens less likely to appear as their frequency increases and * decrease the likelihood of the model repeating the same statements verbatim. @@ -469,8 +459,8 @@ public ChatCompletionsOptions setModel(String model) { /* * Controls how the model responds to function calls. "none" means the model does not call a function, * and responds to the end-user. "auto" means the model can pick between an end-user or calling a function. - * Specifying a particular function via `{"name": "my_function"}` forces the model to call that function. - * "none" is the default when no functions are present. "auto" is the default if functions are present. + * Specifying a particular function via `{"name": "my_function"}` forces the model to call that function. + * "none" is the default when no functions are present. "auto" is the default if functions are present. */ @Generated @JsonProperty(value = "function_call") @@ -553,7 +543,8 @@ public FunctionCallConfig getFunctionCall() { */ public ChatCompletionsOptions setFunctionCall(FunctionCallConfig functionCallConfig) { this.functionCallConfig = functionCallConfig; - if (FunctionCallPreset.values().stream() + if (FunctionCallPreset.values() + .stream() .anyMatch(preset -> preset.toString().equals(functionCallConfig.getName()))) { this.functionCall = BinaryData.fromObject(FunctionCallPreset.fromString(this.functionCallConfig.getName())); } else { @@ -563,16 +554,16 @@ public ChatCompletionsOptions setFunctionCall(FunctionCallConfig functionCallCon } /* - * The configuration entries for Azure OpenAI chat extensions that use them. - * This additional specification is only compatible with Azure OpenAI. + * The configuration entries for Azure OpenAI chat extensions that use them. + * This additional specification is only compatible with Azure OpenAI. */ @Generated @JsonProperty(value = "data_sources") private List dataSources; /** - * Get the dataSources property: The configuration entries for Azure OpenAI chat extensions that use them. - * This additional specification is only compatible with Azure OpenAI. + * Get the dataSources property: The configuration entries for Azure OpenAI chat extensions that use them. + * This additional specification is only compatible with Azure OpenAI. * * @return the dataSources value. */ @@ -582,8 +573,8 @@ public List getDataSources() { } /** - * Set the dataSources property: The configuration entries for Azure OpenAI chat extensions that use them. - * This additional specification is only compatible with Azure OpenAI. + * Set the dataSources property: The configuration entries for Azure OpenAI chat extensions that use them. + * This additional specification is only compatible with Azure OpenAI. * * @param dataSources the dataSources value to set. * @return the ChatCompletionsOptions object itself. @@ -602,10 +593,8 @@ public ChatCompletionsOptions setDataSources(List getTools() { } /** - * Set the tools property: The available tool definitions that the chat completions request can use, including - * caller-defined functions. + * Set the tools property: The available tool definitions that the chat completions request can use, including caller-defined functions. * * @param tools the tools value to set. * @return the ChatCompletionsOptions object itself. @@ -736,8 +715,7 @@ public ChatCompletionsOptions setTools(List tools } /** - * Get the toolChoice property: If specified, the model will configure which of the provided tools it can use for - * the chat completions response. + * Get the toolChoice property: If specified, the model will configure which of the provided tools it can use for the chat completions response. * * @return the toolChoice value. */ @@ -747,8 +725,7 @@ public BinaryData getToolChoice() { } /** - * Set the toolChoice property: If specified, the model will configure which of the provided tools it can use for - * the chat completions response. + * Set the toolChoice property: If specified, the model will configure which of the provided tools it can use for the chat completions response. * * @param toolChoice the toolChoice value to set. * @return the ChatCompletionsOptions object itself. @@ -760,26 +737,21 @@ public ChatCompletionsOptions setToolChoice(BinaryData toolChoice) { } /* - * Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each - * output token returned in the `content` of `message`. This option is currently not available on the - * `gpt-4-vision-preview` model. + * Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model. */ @Generated @JsonProperty(value = "logprobs") private Boolean logprobs; /* - * An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each - * with an associated log probability. `logprobs` must be set to `true` if this parameter is used. + * An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used. */ @Generated @JsonProperty(value = "top_logprobs") private Integer topLogprobs; /** - * Get the logprobs property: Whether to return log probabilities of the output tokens or not. If true, returns the - * log probabilities of each output token returned in the `content` of `message`. This option is currently not - * available on the `gpt-4-vision-preview` model. + * Get the logprobs property: Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model. * * @return the logprobs value. */ @@ -789,9 +761,7 @@ public Boolean isLogprobs() { } /** - * Set the logprobs property: Whether to return log probabilities of the output tokens or not. If true, returns the - * log probabilities of each output token returned in the `content` of `message`. This option is currently not - * available on the `gpt-4-vision-preview` model. + * Set the logprobs property: Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model. * * @param logprobs the logprobs value to set. * @return the ChatCompletionsOptions object itself. @@ -803,9 +773,7 @@ public ChatCompletionsOptions setLogprobs(Boolean logprobs) { } /** - * Get the topLogprobs property: An integer between 0 and 5 specifying the number of most likely tokens to return - * at each token position, each with an associated log probability. `logprobs` must be set to `true` if this - * parameter is used. + * Get the topLogprobs property: An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used. * * @return the topLogprobs value. */ @@ -815,9 +783,7 @@ public Integer getTopLogprobs() { } /** - * Set the topLogprobs property: An integer between 0 and 5 specifying the number of most likely tokens to return - * at each token position, each with an associated log probability. `logprobs` must be set to `true` if this - * parameter is used. + * Set the topLogprobs property: An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used. * * @param topLogprobs the topLogprobs value to set. * @return the ChatCompletionsOptions object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsResponseFormat.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsResponseFormat.java index 93a7a5a1a2c6..042b354d5609 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsResponseFormat.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsResponseFormat.java @@ -5,7 +5,9 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -15,9 +17,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type", - defaultImpl = ChatCompletionsResponseFormat.class) + defaultImpl = ChatCompletionsResponseFormat.class, + visible = true) @JsonTypeName("ChatCompletionsResponseFormat") @JsonSubTypes({ @JsonSubTypes.Type(name = "text", value = ChatCompletionsTextResponseFormat.class), @@ -30,5 +32,36 @@ public class ChatCompletionsResponseFormat { */ @Generated public ChatCompletionsResponseFormat() { + this.type = "ChatCompletionsResponseFormat"; + } + + /* + * The discriminated type for the response format. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private String type; + + /** + * Get the type property: The discriminated type for the response format. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The discriminated type for the response format. + * + * @param type the type value to set. + * @return the ChatCompletionsResponseFormat object itself. + */ + @Generated + protected ChatCompletionsResponseFormat setType(String type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsTextResponseFormat.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsTextResponseFormat.java index 15b6cdaa308d..3ec8ec7dcf94 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsTextResponseFormat.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsTextResponseFormat.java @@ -9,11 +9,14 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * The standard Chat Completions response format that can freely generate text and is not guaranteed to produce - * response + * The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response * content that adheres to a specific schema. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatCompletionsTextResponseFormat.class, + visible = true) @JsonTypeName("text") @Immutable public final class ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat { @@ -23,5 +26,6 @@ public final class ChatCompletionsTextResponseFormat extends ChatCompletionsResp */ @Generated public ChatCompletionsTextResponseFormat() { + setType("text"); } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolCall.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolCall.java index d94980abeb05..d1fb8539edd1 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolCall.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolCall.java @@ -6,11 +6,11 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonGetter; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonGetter; /** * An abstract representation of a tool call that must be resolved in a subsequent request to perform the requested @@ -27,7 +27,7 @@ public class ChatCompletionsToolCall { */ @Generated @JsonProperty(value = "id") - private String id; + private final String id; @JsonProperty("type") private String type; @@ -64,4 +64,16 @@ public ChatCompletionsToolCall(@JsonProperty(value = "id") String id, @JsonPrope this.id = id; this.type = type; } + + /** + * Set the type property: The object type. + * + * @param type the type value to set. + * @return the ChatCompletionsToolCall object itself. + */ + @Generated + protected ChatCompletionsToolCall setType(String type) { + this.type = type; + return this; + } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolDefinition.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolDefinition.java index 829da4f6cdde..e15e810e5295 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolDefinition.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatCompletionsToolDefinition.java @@ -5,7 +5,9 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -14,9 +16,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type", - defaultImpl = ChatCompletionsToolDefinition.class) + defaultImpl = ChatCompletionsToolDefinition.class, + visible = true) @JsonTypeName("ChatCompletionsToolDefinition") @JsonSubTypes({ @JsonSubTypes.Type(name = "function", value = ChatCompletionsFunctionToolDefinition.class) }) @Immutable @@ -27,5 +29,36 @@ public class ChatCompletionsToolDefinition { */ @Generated public ChatCompletionsToolDefinition() { + this.type = "ChatCompletionsToolDefinition"; + } + + /* + * The object type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private String type; + + /** + * Get the type property: The object type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The object type. + * + * @param type the type value to set. + * @return the ChatCompletionsToolDefinition object itself. + */ + @Generated + protected ChatCompletionsToolDefinition setType(String type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatFinishDetails.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatFinishDetails.java index 96bc22b940de..4f414b2a4525 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatFinishDetails.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatFinishDetails.java @@ -5,18 +5,16 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * An abstract representation of structured information about why a chat completions response terminated. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "type", - defaultImpl = ChatFinishDetails.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", defaultImpl = ChatFinishDetails.class, visible = true) @JsonTypeName("ChatFinishDetails") @JsonSubTypes({ @JsonSubTypes.Type(name = "stop", value = StopFinishDetails.class), @@ -29,5 +27,36 @@ public class ChatFinishDetails { */ @Generated protected ChatFinishDetails() { + this.type = "ChatFinishDetails"; + } + + /* + * The object type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private String type; + + /** + * Get the type property: The object type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The object type. + * + * @param type the type value to set. + * @return the ChatFinishDetails object itself. + */ + @Generated + protected ChatFinishDetails setType(String type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageContentItem.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageContentItem.java index 6b4e16bf3afe..801299ec027c 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageContentItem.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageContentItem.java @@ -5,18 +5,16 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * An abstract representation of a structured content item within a chat message. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "type", - defaultImpl = ChatMessageContentItem.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", defaultImpl = ChatMessageContentItem.class, visible = true) @JsonTypeName("ChatMessageContentItem") @JsonSubTypes({ @JsonSubTypes.Type(name = "text", value = ChatMessageTextContentItem.class), @@ -29,5 +27,36 @@ public class ChatMessageContentItem { */ @Generated public ChatMessageContentItem() { + this.type = "ChatMessageContentItem"; + } + + /* + * The discriminated object type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private String type; + + /** + * Get the type property: The discriminated object type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The discriminated object type. + * + * @param type the type value to set. + * @return the ChatMessageContentItem object itself. + */ + @Generated + protected ChatMessageContentItem setType(String type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageContentItem.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageContentItem.java index cb17a710dec5..6924434050c9 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageContentItem.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageContentItem.java @@ -13,7 +13,11 @@ /** * A structured chat content item containing an image reference. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatMessageImageContentItem.class, + visible = true) @JsonTypeName("image_url") @Immutable public final class ChatMessageImageContentItem extends ChatMessageContentItem { @@ -23,7 +27,7 @@ public final class ChatMessageImageContentItem extends ChatMessageContentItem { */ @Generated @JsonProperty(value = "image_url") - private ChatMessageImageUrl imageUrl; + private final ChatMessageImageUrl imageUrl; /** * Creates an instance of ChatMessageImageContentItem class. @@ -33,12 +37,12 @@ public final class ChatMessageImageContentItem extends ChatMessageContentItem { @Generated @JsonCreator public ChatMessageImageContentItem(@JsonProperty(value = "image_url") ChatMessageImageUrl imageUrl) { + setType("image_url"); this.imageUrl = imageUrl; } /** - * Get the imageUrl property: An internet location, which must be accessible to the model,from which the image may - * be retrieved. + * Get the imageUrl property: An internet location, which must be accessible to the model,from which the image may be retrieved. * * @return the imageUrl value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageUrl.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageUrl.java index e6671b598c87..f762ef1f1dc5 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageUrl.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageImageUrl.java @@ -19,7 +19,7 @@ public final class ChatMessageImageUrl { */ @Generated @JsonProperty(value = "url") - private String url; + private final String url; /** * Creates an instance of ChatMessageImageUrl class. @@ -51,8 +51,7 @@ public String getUrl() { private ChatMessageImageDetailLevel detail; /** - * Get the detail property: The evaluation quality setting to use, which controls relative prioritization of speed, - * token consumption, and + * Get the detail property: The evaluation quality setting to use, which controls relative prioritization of speed, token consumption, and * accuracy. * * @return the detail value. @@ -63,8 +62,7 @@ public ChatMessageImageDetailLevel getDetail() { } /** - * Set the detail property: The evaluation quality setting to use, which controls relative prioritization of speed, - * token consumption, and + * Set the detail property: The evaluation quality setting to use, which controls relative prioritization of speed, token consumption, and * accuracy. * * @param detail the detail value to set. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageTextContentItem.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageTextContentItem.java index 08c6ee3efe8e..2be2337ffed2 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageTextContentItem.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatMessageTextContentItem.java @@ -13,7 +13,11 @@ /** * A structured chat content item containing plain text. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ChatMessageTextContentItem.class, + visible = true) @JsonTypeName("text") @Immutable public final class ChatMessageTextContentItem extends ChatMessageContentItem { @@ -23,7 +27,7 @@ public final class ChatMessageTextContentItem extends ChatMessageContentItem { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /** * Creates an instance of ChatMessageTextContentItem class. @@ -33,6 +37,7 @@ public final class ChatMessageTextContentItem extends ChatMessageContentItem { @Generated @JsonCreator public ChatMessageTextContentItem(@JsonProperty(value = "text") String text) { + setType("text"); this.text = text; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestAssistantMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestAssistantMessage.java index 13ee40cd39ad..ed388fdbff1b 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestAssistantMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestAssistantMessage.java @@ -14,7 +14,11 @@ /** * A request chat message representing response or action from the assistant. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "role") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "role", + defaultImpl = ChatRequestAssistantMessage.class, + visible = true) @JsonTypeName("assistant") @Fluent public final class ChatRequestAssistantMessage extends ChatRequestMessage { @@ -24,7 +28,7 @@ public final class ChatRequestAssistantMessage extends ChatRequestMessage { */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /* * An optional name for the participant. @@ -57,6 +61,7 @@ public final class ChatRequestAssistantMessage extends ChatRequestMessage { @Generated @JsonCreator public ChatRequestAssistantMessage(@JsonProperty(value = "content") String content) { + setRole(ChatRole.ASSISTANT); this.content = content; } @@ -93,8 +98,7 @@ public ChatRequestAssistantMessage setName(String name) { } /** - * Get the toolCalls property: The tool calls that must be resolved and have their outputs appended to subsequent - * input messages for the chat + * Get the toolCalls property: The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat * completions request to resolve as configured. * * @return the toolCalls value. @@ -105,8 +109,7 @@ public List getToolCalls() { } /** - * Set the toolCalls property: The tool calls that must be resolved and have their outputs appended to subsequent - * input messages for the chat + * Set the toolCalls property: The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat * completions request to resolve as configured. * * @param toolCalls the toolCalls value to set. @@ -119,8 +122,7 @@ public ChatRequestAssistantMessage setToolCalls(List to } /** - * Get the functionCall property: The function call that must be resolved and have its output appended to - * subsequent input messages for the chat + * Get the functionCall property: The function call that must be resolved and have its output appended to subsequent input messages for the chat * completions request to resolve as configured. * * @return the functionCall value. @@ -131,8 +133,7 @@ public FunctionCall getFunctionCall() { } /** - * Set the functionCall property: The function call that must be resolved and have its output appended to - * subsequent input messages for the chat + * Set the functionCall property: The function call that must be resolved and have its output appended to subsequent input messages for the chat * completions request to resolve as configured. * * @param functionCall the functionCall value to set. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestFunctionMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestFunctionMessage.java index 6953e8573d20..2e7915d10b48 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestFunctionMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestFunctionMessage.java @@ -13,7 +13,11 @@ /** * A request chat message representing requested output from a configured function. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "role") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "role", + defaultImpl = ChatRequestFunctionMessage.class, + visible = true) @JsonTypeName("function") @Immutable public final class ChatRequestFunctionMessage extends ChatRequestMessage { @@ -23,14 +27,14 @@ public final class ChatRequestFunctionMessage extends ChatRequestMessage { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /* * The output of the function as requested by the function call. */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /** * Creates an instance of ChatRequestFunctionMessage class. @@ -42,6 +46,7 @@ public final class ChatRequestFunctionMessage extends ChatRequestMessage { @JsonCreator public ChatRequestFunctionMessage(@JsonProperty(value = "name") String name, @JsonProperty(value = "content") String content) { + setRole(ChatRole.FUNCTION); this.name = name; this.content = content; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestMessage.java index 81d1dd794dd1..5d939155ffc6 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestMessage.java @@ -5,18 +5,16 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; /** * An abstract representation of a chat message as provided in a request. */ -@JsonTypeInfo( - use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, - property = "role", - defaultImpl = ChatRequestMessage.class) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "role", defaultImpl = ChatRequestMessage.class, visible = true) @JsonTypeName("ChatRequestMessage") @JsonSubTypes({ @JsonSubTypes.Type(name = "system", value = ChatRequestSystemMessage.class), @@ -32,5 +30,36 @@ public class ChatRequestMessage { */ @Generated public ChatRequestMessage() { + this.role = ChatRole.fromString("ChatRequestMessage"); + } + + /* + * The chat role associated with this message. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "role") + private ChatRole role; + + /** + * Get the role property: The chat role associated with this message. + * + * @return the role value. + */ + @Generated + public ChatRole getRole() { + return this.role; + } + + /** + * Set the role property: The chat role associated with this message. + * + * @param role the role value to set. + * @return the ChatRequestMessage object itself. + */ + @Generated + protected ChatRequestMessage setRole(ChatRole role) { + this.role = role; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestSystemMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestSystemMessage.java index aa548aa09639..f88f9422cdbb 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestSystemMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestSystemMessage.java @@ -14,7 +14,11 @@ * A request chat message containing system instructions that influence how the model will generate a chat completions * response. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "role") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "role", + defaultImpl = ChatRequestSystemMessage.class, + visible = true) @JsonTypeName("system") @Fluent public final class ChatRequestSystemMessage extends ChatRequestMessage { @@ -24,7 +28,7 @@ public final class ChatRequestSystemMessage extends ChatRequestMessage { */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /* * An optional name for the participant. @@ -41,6 +45,7 @@ public final class ChatRequestSystemMessage extends ChatRequestMessage { @Generated @JsonCreator public ChatRequestSystemMessage(@JsonProperty(value = "content") String content) { + setRole(ChatRole.SYSTEM); this.content = content; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestToolMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestToolMessage.java index 7d54b6249782..ef661ab6a452 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestToolMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestToolMessage.java @@ -13,7 +13,7 @@ /** * A request chat message representing requested output from a configured tool. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "role") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "role", defaultImpl = ChatRequestToolMessage.class, visible = true) @JsonTypeName("tool") @Immutable public final class ChatRequestToolMessage extends ChatRequestMessage { @@ -23,14 +23,14 @@ public final class ChatRequestToolMessage extends ChatRequestMessage { */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /* * The ID of the tool call resolved by the provided content. */ @Generated @JsonProperty(value = "tool_call_id") - private String toolCallId; + private final String toolCallId; /** * Creates an instance of ChatRequestToolMessage class. @@ -42,6 +42,7 @@ public final class ChatRequestToolMessage extends ChatRequestMessage { @JsonCreator public ChatRequestToolMessage(@JsonProperty(value = "content") String content, @JsonProperty(value = "tool_call_id") String toolCallId) { + setRole(ChatRole.TOOL); this.content = content; this.toolCallId = toolCallId; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestUserMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestUserMessage.java index c44ee76d7915..ef53b85fe5c1 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestUserMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatRequestUserMessage.java @@ -10,14 +10,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.stream.Collectors; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; /** * A request chat message representing user input to the assistant. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "role") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "role", defaultImpl = ChatRequestUserMessage.class, visible = true) @JsonTypeName("user") @Fluent public final class ChatRequestUserMessage extends ChatRequestMessage { @@ -27,7 +27,7 @@ public final class ChatRequestUserMessage extends ChatRequestMessage { */ @Generated @JsonProperty(value = "content") - private BinaryData content; + private final BinaryData content; /* * An optional name for the participant. @@ -74,8 +74,7 @@ public ChatRequestUserMessage(List content) { } /** - * Get the content property: The contents of the user message, with available input types varying by selected - * model. + * Get the content property: The contents of the user message, with available input types varying by selected model. * * @return the content value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatResponseMessage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatResponseMessage.java index 0538c54784b7..9e3f06f16fb7 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatResponseMessage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatResponseMessage.java @@ -20,14 +20,14 @@ public final class ChatResponseMessage { */ @Generated @JsonProperty(value = "role") - private ChatRole role; + private final ChatRole role; /* * The content of the message. */ @Generated @JsonProperty(value = "content") - private String content; + private final String content; /* * The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat @@ -88,8 +88,7 @@ public String getContent() { } /** - * Get the toolCalls property: The tool calls that must be resolved and have their outputs appended to subsequent - * input messages for the chat + * Get the toolCalls property: The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat * completions request to resolve as configured. * * @return the toolCalls value. @@ -100,8 +99,7 @@ public List getToolCalls() { } /** - * Get the functionCall property: The function call that must be resolved and have its output appended to - * subsequent input messages for the chat + * Get the functionCall property: The function call that must be resolved and have its output appended to subsequent input messages for the chat * completions request to resolve as configured. * * @return the functionCall value. @@ -112,8 +110,7 @@ public FunctionCall getFunctionCall() { } /** - * Get the context property: If Azure OpenAI chat extensions are configured, this array represents the incremental - * steps performed by those + * Get the context property: If Azure OpenAI chat extensions are configured, this array represents the incremental steps performed by those * extensions while processing the chat completions request. * * @return the context value. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityInfo.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityInfo.java index 8010dcd6bc33..4818b94a3a88 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityInfo.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityInfo.java @@ -20,23 +20,21 @@ public final class ChatTokenLogProbabilityInfo { */ @Generated @JsonProperty(value = "token") - private String token; + private final String token; /* * The log probability of the message content token. */ @Generated @JsonProperty(value = "logprob") - private double logprob; + private final double logprob; /* - * A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where - * characters are represented by multiple tokens and their byte representations must be combined to generate the - * correct text representation. Can be null if there is no bytes representation for the token. + * A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token. */ @Generated @JsonProperty(value = "bytes") - private List bytes; + private final List bytes; /** * Creates an instance of ChatTokenLogProbabilityInfo class. @@ -75,9 +73,7 @@ public double getLogprob() { } /** - * Get the bytes property: A list of integers representing the UTF-8 bytes representation of the token. Useful in - * instances where characters are represented by multiple tokens and their byte representations must be combined to - * generate the correct text representation. Can be null if there is no bytes representation for the token. + * Get the bytes property: A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token. * * @return the bytes value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityResult.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityResult.java index cd7835e578b2..f61010d016df 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityResult.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ChatTokenLogProbabilityResult.java @@ -10,8 +10,7 @@ import java.util.List; /** - * A representation of the log probability information for a single content token, including a list of most likely - * tokens if 'top_logprobs' were requested. + * A representation of the log probability information for a single content token, including a list of most likely tokens if 'top_logprobs' were requested. */ @Immutable public final class ChatTokenLogProbabilityResult { @@ -21,30 +20,28 @@ public final class ChatTokenLogProbabilityResult { */ @Generated @JsonProperty(value = "token") - private String token; + private final String token; /* * The log probability of the message content token. */ @Generated @JsonProperty(value = "logprob") - private double logprob; + private final double logprob; /* - * A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where - * characters are represented by multiple tokens and their byte representations must be combined to generate the - * correct text representation. Can be null if there is no bytes representation for the token. + * A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token. */ @Generated @JsonProperty(value = "bytes") - private List bytes; + private final List bytes; /* * The list of most likely tokens and their log probability information, as requested via 'top_logprobs'. */ @Generated @JsonProperty(value = "top_logprobs") - private List topLogprobs; + private final List topLogprobs; /** * Creates an instance of ChatTokenLogProbabilityResult class. @@ -86,9 +83,7 @@ public double getLogprob() { } /** - * Get the bytes property: A list of integers representing the UTF-8 bytes representation of the token. Useful in - * instances where characters are represented by multiple tokens and their byte representations must be combined to - * generate the correct text representation. Can be null if there is no bytes representation for the token. + * Get the bytes property: A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token. * * @return the bytes value. */ @@ -98,8 +93,7 @@ public List getBytes() { } /** - * Get the topLogprobs property: The list of most likely tokens and their log probability information, as requested - * via 'top_logprobs'. + * Get the topLogprobs property: The list of most likely tokens and their log probability information, as requested via 'top_logprobs'. * * @return the topLogprobs value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Choice.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Choice.java index 8c78d46447c1..0ec370f2ba6b 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Choice.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Choice.java @@ -21,28 +21,28 @@ public final class Choice { */ @Generated @JsonProperty(value = "text") - private String text; + private final String text; /* * The ordered index associated with this completions choice. */ @Generated @JsonProperty(value = "index") - private int index; + private final int index; /* * The log probabilities model for tokens associated with this completions choice. */ @Generated @JsonProperty(value = "logprobs") - private CompletionsLogProbabilityModel logprobs; + private final CompletionsLogProbabilityModel logprobs; /* * Reason for finishing */ @Generated @JsonProperty(value = "finish_reason") - private CompletionsFinishReason finishReason; + private final CompletionsFinishReason finishReason; /** * Creates an instance of Choice class. @@ -113,8 +113,7 @@ public CompletionsFinishReason getFinishReason() { private ContentFilterResultsForChoice contentFilterResults; /** - * Get the contentFilterResults property: Information about the content filtering category (hate, sexual, violence, - * self_harm), if it + * Get the contentFilterResults property: Information about the content filtering category (hate, sexual, violence, self_harm), if it * has been detected, as well as the severity level (very_low, low, medium, high-scale that * determines the intensity and risk level of harmful content) and if it has been filtered or not. * diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Completions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Completions.java index 75a44401b012..caac6d48d4cb 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Completions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Completions.java @@ -25,7 +25,7 @@ public final class Completions { */ @Generated @JsonProperty(value = "id") - private String id; + private final String id; /* * The collection of completions choices associated with this completions response. @@ -34,14 +34,14 @@ public final class Completions { */ @Generated @JsonProperty(value = "choices") - private List choices; + private final List choices; /* * Usage information for tokens processed and generated as part of this completions operation. */ @Generated @JsonProperty(value = "usage") - private CompletionsUsage usage; + private final CompletionsUsage usage; /** * Get the id property: A unique identifier associated with this completions response. @@ -66,8 +66,7 @@ public List getChoices() { } /** - * Get the usage property: Usage information for tokens processed and generated as part of this completions - * operation. + * Get the usage property: Usage information for tokens processed and generated as part of this completions operation. * * @return the usage value. */ @@ -114,7 +113,7 @@ public List getPromptFilterResults() { */ @Generated @JsonProperty(value = "created") - private long createdAt; + private final long createdAt; /** * Creates an instance of Completions class. @@ -140,8 +139,7 @@ private Completions(@JsonProperty(value = "id") String id, @JsonProperty(value = } /** - * Get the createdAt property: The first timestamp associated with generation activity for this completions - * response, + * Get the createdAt property: The first timestamp associated with generation activity for this completions response, * represented as seconds since the beginning of the Unix epoch of 00:00 on 1 Jan 1970. * * @return the createdAt value. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsLogProbabilityModel.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsLogProbabilityModel.java index cb9f0a00cc10..05fdd7f5cd71 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsLogProbabilityModel.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsLogProbabilityModel.java @@ -21,7 +21,7 @@ public final class CompletionsLogProbabilityModel { */ @Generated @JsonProperty(value = "tokens") - private List tokens; + private final List tokens; /** * Creates an instance of CompletionsLogProbabilityModel class. @@ -58,25 +58,24 @@ public List getTokens() { */ @Generated @JsonProperty(value = "token_logprobs") - private List tokenLogProbabilities; + private final List tokenLogProbabilities; /* * A mapping of tokens to maximum log probability values in this completions data. */ @Generated @JsonProperty(value = "top_logprobs") - private List> topLogProbabilities; + private final List> topLogProbabilities; /* * The text offsets associated with tokens in this completions data. */ @Generated @JsonProperty(value = "text_offset") - private List textOffsets; + private final List textOffsets; /** - * Get the tokenLogProbabilities property: A collection of log probability values for the tokens in this - * completions data. + * Get the tokenLogProbabilities property: A collection of log probability values for the tokens in this completions data. * * @return the tokenLogProbabilities value. */ @@ -86,8 +85,7 @@ public List getTokenLogProbabilities() { } /** - * Get the topLogProbabilities property: A mapping of tokens to maximum log probability values in this completions - * data. + * Get the topLogProbabilities property: A mapping of tokens to maximum log probability values in this completions data. * * @return the topLogProbabilities value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsOptions.java index 431b3d7c2d8a..3c37f1d5ff52 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsOptions.java @@ -23,7 +23,7 @@ public final class CompletionsOptions { */ @Generated @JsonProperty(value = "prompt") - private List prompt; + private final List prompt; /* * The maximum number of tokens to generate. @@ -199,8 +199,7 @@ public CompletionsOptions setMaxTokens(Integer maxTokens) { } /** - * Get the temperature property: The sampling temperature to use that controls the apparent creativity of generated - * completions. + * Get the temperature property: The sampling temperature to use that controls the apparent creativity of generated completions. * Higher values will make output more random while lower values will make results more focused * and deterministic. * It is not recommended to modify temperature and top_p for the same completions request as the @@ -214,8 +213,7 @@ public Double getTemperature() { } /** - * Set the temperature property: The sampling temperature to use that controls the apparent creativity of generated - * completions. + * Set the temperature property: The sampling temperature to use that controls the apparent creativity of generated completions. * Higher values will make output more random while lower values will make results more focused * and deterministic. * It is not recommended to modify temperature and top_p for the same completions request as the @@ -231,8 +229,7 @@ public CompletionsOptions setTemperature(Double temperature) { } /** - * Get the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes - * the + * Get the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes the * model to consider the results of tokens with the provided probability mass. As an example, a * value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be * considered. @@ -247,8 +244,7 @@ public Double getTopP() { } /** - * Set the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes - * the + * Set the topP property: An alternative to sampling with temperature called nucleus sampling. This value causes the * model to consider the results of tokens with the provided probability mass. As an example, a * value of 0.15 will cause only the tokens comprising the top 15% of probability mass to be * considered. @@ -265,8 +261,7 @@ public CompletionsOptions setTopP(Double topP) { } /** - * Get the logitBias property: A map between GPT token IDs and bias scores that influences the probability of - * specific tokens + * Get the logitBias property: A map between GPT token IDs and bias scores that influences the probability of specific tokens * appearing in a completions response. Token IDs are computed via external tokenizer tools, while * bias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to * a full ban or exclusive selection of a token, respectively. The exact behavior of a given bias @@ -280,8 +275,7 @@ public Map getLogitBias() { } /** - * Set the logitBias property: A map between GPT token IDs and bias scores that influences the probability of - * specific tokens + * Set the logitBias property: A map between GPT token IDs and bias scores that influences the probability of specific tokens * appearing in a completions response. Token IDs are computed via external tokenizer tools, while * bias scores reside in the range of -100 to 100 with minimum and maximum values corresponding to * a full ban or exclusive selection of a token, respectively. The exact behavior of a given bias @@ -349,8 +343,7 @@ public CompletionsOptions setN(Integer n) { } /** - * Get the logprobs property: A value that controls the emission of log probabilities for the provided number of - * most likely + * Get the logprobs property: A value that controls the emission of log probabilities for the provided number of most likely * tokens within a completions response. * * @return the logprobs value. @@ -361,8 +354,7 @@ public Integer getLogprobs() { } /** - * Set the logprobs property: A value that controls the emission of log probabilities for the provided number of - * most likely + * Set the logprobs property: A value that controls the emission of log probabilities for the provided number of most likely * tokens within a completions response. * * @param logprobs the logprobs value to set. @@ -375,8 +367,7 @@ public CompletionsOptions setLogprobs(Integer logprobs) { } /** - * Get the echo property: A value specifying whether completions responses should include input prompts as prefixes - * to + * Get the echo property: A value specifying whether completions responses should include input prompts as prefixes to * their generated output. * * @return the echo value. @@ -387,8 +378,7 @@ public Boolean isEcho() { } /** - * Set the echo property: A value specifying whether completions responses should include input prompts as prefixes - * to + * Set the echo property: A value specifying whether completions responses should include input prompts as prefixes to * their generated output. * * @param echo the echo value to set. @@ -423,8 +413,7 @@ public CompletionsOptions setStop(List stop) { } /** - * Get the presencePenalty property: A value that influences the probability of generated tokens appearing based on - * their existing + * Get the presencePenalty property: A value that influences the probability of generated tokens appearing based on their existing * presence in generated text. * Positive values will make tokens less likely to appear when they already exist and increase the * model's likelihood to output new topics. @@ -437,8 +426,7 @@ public Double getPresencePenalty() { } /** - * Set the presencePenalty property: A value that influences the probability of generated tokens appearing based on - * their existing + * Set the presencePenalty property: A value that influences the probability of generated tokens appearing based on their existing * presence in generated text. * Positive values will make tokens less likely to appear when they already exist and increase the * model's likelihood to output new topics. @@ -453,8 +441,7 @@ public CompletionsOptions setPresencePenalty(Double presencePenalty) { } /** - * Get the frequencyPenalty property: A value that influences the probability of generated tokens appearing based - * on their cumulative + * Get the frequencyPenalty property: A value that influences the probability of generated tokens appearing based on their cumulative * frequency in generated text. * Positive values will make tokens less likely to appear as their frequency increases and * decrease the likelihood of the model repeating the same statements verbatim. @@ -467,8 +454,7 @@ public Double getFrequencyPenalty() { } /** - * Set the frequencyPenalty property: A value that influences the probability of generated tokens appearing based - * on their cumulative + * Set the frequencyPenalty property: A value that influences the probability of generated tokens appearing based on their cumulative * frequency in generated text. * Positive values will make tokens less likely to appear as their frequency increases and * decrease the likelihood of the model repeating the same statements verbatim. @@ -483,8 +469,7 @@ public CompletionsOptions setFrequencyPenalty(Double frequencyPenalty) { } /** - * Get the bestOf property: A value that controls how many completions will be internally generated prior to - * response + * Get the bestOf property: A value that controls how many completions will be internally generated prior to response * formulation. * When used together with n, best_of controls the number of candidate completions and must be * greater than n. @@ -499,8 +484,7 @@ public Integer getBestOf() { } /** - * Set the bestOf property: A value that controls how many completions will be internally generated prior to - * response + * Set the bestOf property: A value that controls how many completions will be internally generated prior to response * formulation. * When used together with n, best_of controls the number of candidate completions and must be * greater than n. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsUsage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsUsage.java index 251adda6dfe9..e77674b790d4 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsUsage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/CompletionsUsage.java @@ -21,21 +21,21 @@ public final class CompletionsUsage { */ @Generated @JsonProperty(value = "completion_tokens") - private int completionTokens; + private final int completionTokens; /* * The number of tokens in the provided prompts for the completions request. */ @Generated @JsonProperty(value = "prompt_tokens") - private int promptTokens; + private final int promptTokens; /* * The total number of tokens processed for the completions request and response. */ @Generated @JsonProperty(value = "total_tokens") - private int totalTokens; + private final int totalTokens; /** * Creates an instance of CompletionsUsage class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterBlocklistIdResult.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterBlocklistIdResult.java index 820801313915..1fa95efdbbb0 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterBlocklistIdResult.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterBlocklistIdResult.java @@ -19,14 +19,14 @@ public final class ContentFilterBlocklistIdResult { */ @Generated @JsonProperty(value = "id") - private String id; + private final String id; /* * A value indicating whether or not the content has been filtered. */ @Generated @JsonProperty(value = "filtered") - private boolean filtered; + private final boolean filtered; /** * Creates an instance of ContentFilterBlocklistIdResult class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterCitedDetectionResult.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterCitedDetectionResult.java index e53acc9ed574..f6e828c41f82 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterCitedDetectionResult.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterCitedDetectionResult.java @@ -19,14 +19,14 @@ public final class ContentFilterCitedDetectionResult { */ @Generated @JsonProperty(value = "filtered") - private boolean filtered; + private final boolean filtered; /* * A value indicating whether detection occurred, irrespective of severity or whether the content was filtered. */ @Generated @JsonProperty(value = "detected") - private boolean detected; + private final boolean detected; /* * The internet location associated with the detection. @@ -40,7 +40,7 @@ public final class ContentFilterCitedDetectionResult { */ @Generated @JsonProperty(value = "license") - private String license; + private final String license; /** * Creates an instance of ContentFilterCitedDetectionResult class. @@ -69,8 +69,7 @@ public boolean isFiltered() { } /** - * Get the detected property: A value indicating whether detection occurred, irrespective of severity or whether - * the content was filtered. + * Get the detected property: A value indicating whether detection occurred, irrespective of severity or whether the content was filtered. * * @return the detected value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterDetectionResult.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterDetectionResult.java index cd5578202d11..8f2f9ec0a953 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterDetectionResult.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterDetectionResult.java @@ -19,14 +19,14 @@ public final class ContentFilterDetectionResult { */ @Generated @JsonProperty(value = "filtered") - private boolean filtered; + private final boolean filtered; /* * A value indicating whether detection occurred, irrespective of severity or whether the content was filtered. */ @Generated @JsonProperty(value = "detected") - private boolean detected; + private final boolean detected; /** * Creates an instance of ContentFilterDetectionResult class. @@ -53,8 +53,7 @@ public boolean isFiltered() { } /** - * Get the detected property: A value indicating whether detection occurred, irrespective of severity or whether - * the content was filtered. + * Get the detected property: A value indicating whether detection occurred, irrespective of severity or whether the content was filtered. * * @return the detected value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResult.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResult.java index ac2a3c670fc9..e2d76aafdbe9 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResult.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResult.java @@ -19,14 +19,14 @@ public final class ContentFilterResult { */ @Generated @JsonProperty(value = "severity") - private ContentFilterSeverity severity; + private final ContentFilterSeverity severity; /* * A value indicating whether or not the content has been filtered. */ @Generated @JsonProperty(value = "filtered") - private boolean filtered; + private final boolean filtered; /** * Creates an instance of ContentFilterResult class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultDetailsForPrompt.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultDetailsForPrompt.java index 7640e24fff07..34172ded7efa 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultDetailsForPrompt.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultDetailsForPrompt.java @@ -17,9 +17,9 @@ public final class ContentFilterResultDetailsForPrompt { /* * Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. */ @Generated @JsonProperty(value = "sexual") @@ -83,9 +83,9 @@ public final class ContentFilterResultDetailsForPrompt { /** * Get the sexual property: Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. * * @return the sexual value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForChoice.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForChoice.java index c6509ebe094e..b6bc02e70862 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForChoice.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForChoice.java @@ -17,9 +17,9 @@ public final class ContentFilterResultsForChoice { /* * Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. */ @Generated @JsonProperty(value = "sexual") @@ -97,9 +97,9 @@ private ContentFilterResultsForChoice() { /** * Get the sexual property: Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. * * @return the sexual value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForPrompt.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForPrompt.java index 92c722a98ec7..9d88c27577ae 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForPrompt.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ContentFilterResultsForPrompt.java @@ -19,14 +19,14 @@ public final class ContentFilterResultsForPrompt { */ @Generated @JsonProperty(value = "prompt_index") - private int promptIndex; + private final int promptIndex; /* * Content filtering results for this prompt */ @Generated @JsonProperty(value = "content_filter_results") - private ContentFilterResultDetailsForPrompt contentFilterResults; + private final ContentFilterResultDetailsForPrompt contentFilterResults; /** * Get the promptIndex property: The index of this prompt in the set of prompt results. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionConfiguration.java index 7c415be44e19..57aa4f0a3768 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionConfiguration.java @@ -14,7 +14,11 @@ * A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat * extension. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = ElasticsearchChatExtensionConfiguration.class, + visible = true) @JsonTypeName("elasticsearch") @Immutable public final class ElasticsearchChatExtensionConfiguration extends AzureChatExtensionConfiguration { @@ -24,7 +28,7 @@ public final class ElasticsearchChatExtensionConfiguration extends AzureChatExte */ @Generated @JsonProperty(value = "parameters") - private ElasticsearchChatExtensionParameters parameters; + private final ElasticsearchChatExtensionParameters parameters; /** * Get the parameters property: The parameters to use when configuring Elasticsearch®. @@ -45,6 +49,7 @@ public ElasticsearchChatExtensionParameters getParameters() { @JsonCreator public ElasticsearchChatExtensionConfiguration( @JsonProperty(value = "parameters") ElasticsearchChatExtensionParameters parameters) { + setType(AzureChatExtensionType.ELASTICSEARCH); this.parameters = parameters; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionParameters.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionParameters.java index d868b0a95d3d..861010f935b6 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionParameters.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ElasticsearchChatExtensionParameters.java @@ -9,16 +9,14 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. The supported authentication - * types are KeyAndKeyId and EncodedAPIKey. + * Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. The supported authentication types are KeyAndKeyId and EncodedAPIKey. */ @Fluent public final class ElasticsearchChatExtensionParameters { /* * The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -42,17 +40,14 @@ public final class ElasticsearchChatExtensionParameters { private Boolean inScope; /* - * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the - * precision but lower recall of the answer. + * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */ @Generated @JsonProperty(value = "strictness") private Integer strictness; /* - * Give the model instructions about how it should behave and any context it should reference when generating a - * response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token - * limit for it, and it counts against the overall token limit. + * Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. */ @Generated @JsonProperty(value = "role_information") @@ -63,14 +58,14 @@ public final class ElasticsearchChatExtensionParameters { */ @Generated @JsonProperty(value = "endpoint") - private String endpoint; + private final String endpoint; /* * The index name of Elasticsearch®. */ @Generated @JsonProperty(value = "index_name") - private String indexName; + private final String indexName; /* * The index field mapping options of Elasticsearch®. @@ -109,8 +104,7 @@ public ElasticsearchChatExtensionParameters(@JsonProperty(value = "endpoint") St /** * Get the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -124,8 +118,7 @@ public OnYourDataAuthenticationOptions getAuthentication() { /** * Set the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -184,8 +177,7 @@ public ElasticsearchChatExtensionParameters setInScope(Boolean inScope) { } /** - * Get the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Get the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @return the strictness value. */ @@ -195,8 +187,7 @@ public Integer getStrictness() { } /** - * Set the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Set the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @param strictness the strictness value to set. * @return the ElasticsearchChatExtensionParameters object itself. @@ -208,9 +199,7 @@ public ElasticsearchChatExtensionParameters setStrictness(Integer strictness) { } /** - * Get the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Get the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @return the roleInformation value. */ @@ -220,9 +209,7 @@ public String getRoleInformation() { } /** - * Set the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Set the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @param roleInformation the roleInformation value to set. * @return the ElasticsearchChatExtensionParameters object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingItem.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingItem.java index 4f61e677ed8a..475b2faf0f9a 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingItem.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingItem.java @@ -21,7 +21,7 @@ public final class EmbeddingItem { */ @Generated @JsonProperty(value = "embedding") - private List embedding; + private final List embedding; /** * Creates an instance of EmbeddingItem class. @@ -53,7 +53,7 @@ public List getEmbedding() { */ @Generated @JsonProperty(value = "index") - private int promptIndex; + private final int promptIndex; /** * Get the promptIndex property: Index of the prompt to which the EmbeddingItem corresponds. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Embeddings.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Embeddings.java index 0c3f6f799c04..9515820f42a5 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Embeddings.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/Embeddings.java @@ -22,14 +22,14 @@ public final class Embeddings { */ @Generated @JsonProperty(value = "data") - private List data; + private final List data; /* * Usage counts for tokens input using the embeddings API. */ @Generated @JsonProperty(value = "usage") - private EmbeddingsUsage usage; + private final EmbeddingsUsage usage; /** * Creates an instance of Embeddings class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsOptions.java index f9b2b169dcb2..0a14cada79bd 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsOptions.java @@ -43,7 +43,7 @@ public final class EmbeddingsOptions { */ @Generated @JsonProperty(value = "input") - private List input; + private final List input; /** * Creates an instance of EmbeddingsOptions class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsUsage.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsUsage.java index a448ca0a3c89..111c7869619a 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsUsage.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/EmbeddingsUsage.java @@ -19,14 +19,14 @@ public final class EmbeddingsUsage { */ @Generated @JsonProperty(value = "prompt_tokens") - private int promptTokens; + private final int promptTokens; /* * Total number of tokens transacted in this request/response. */ @Generated @JsonProperty(value = "total_tokens") - private int totalTokens; + private final int totalTokens; /** * Creates an instance of EmbeddingsUsage class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionCall.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionCall.java index 1845d9d80061..ee38290a971f 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionCall.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionCall.java @@ -19,7 +19,7 @@ public final class FunctionCall { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /* * The arguments to call the function with, as generated by the model in JSON format. @@ -29,7 +29,7 @@ public final class FunctionCall { */ @Generated @JsonProperty(value = "arguments") - private String arguments; + private final String arguments; /** * Creates an instance of FunctionCall class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionDefinition.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionDefinition.java index b0043fb16e62..e3c9d6320431 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionDefinition.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionDefinition.java @@ -5,9 +5,9 @@ import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; -import com.azure.core.util.BinaryData; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import com.azure.core.util.BinaryData; /** * The definition of a caller-specified function that chat completions may invoke in response to matching user input. @@ -20,7 +20,7 @@ public final class FunctionDefinition { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /* * A description of what the function does. The model will use this description when selecting the function and @@ -58,8 +58,7 @@ public String getName() { } /** - * Get the description property: A description of what the function does. The model will use this description when - * selecting the function and + * Get the description property: A description of what the function does. The model will use this description when selecting the function and * interpreting its parameters. * * @return the description value. @@ -70,8 +69,7 @@ public String getDescription() { } /** - * Set the description property: A description of what the function does. The model will use this description when - * selecting the function and + * Set the description property: A description of what the function does. The model will use this description when selecting the function and * interpreting its parameters. * * @param description the description value to set. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionName.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionName.java index 5d55af78286b..60c5390d3033 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionName.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/FunctionName.java @@ -20,7 +20,7 @@ public final class FunctionName { */ @Generated @JsonProperty(value = "name") - private String name; + private final String name; /** * Creates an instance of FunctionName class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationContentFilterResults.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationContentFilterResults.java index ad4c7dd3ddff..7d71e784fb82 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationContentFilterResults.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationContentFilterResults.java @@ -15,9 +15,9 @@ public final class ImageGenerationContentFilterResults { /* * Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. */ @Generated @JsonProperty(value = "sexual") @@ -59,9 +59,9 @@ private ImageGenerationContentFilterResults() { /** * Get the sexual property: Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. * * @return the sexual value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationData.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationData.java index eb6a5b39ee39..c0300178e68a 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationData.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationData.java @@ -8,8 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; /** - * A representation of a single generated image, provided as either base64-encoded data or as a URL from which the - * image + * A representation of a single generated image, provided as either base64-encoded data or as a URL from which the image * may be retrieved. */ @Immutable @@ -105,8 +104,7 @@ public ImageGenerationContentFilterResults getContentFilterResults() { } /** - * Get the promptFilterResults property: Information about the content filtering category (hate, sexual, violence, - * self_harm), if + * Get the promptFilterResults property: Information about the content filtering category (hate, sexual, violence, self_harm), if * it has been detected, as well as the severity level (very_low, low, medium, high-scale * that determines the intensity and risk level of harmful content) and if it has been * filtered or not. Information about jailbreak content and profanity, if it has been detected, diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationOptions.java index f45596ce52a1..fe7be7625598 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationOptions.java @@ -19,7 +19,7 @@ public final class ImageGenerationOptions { */ @Generated @JsonProperty(value = "prompt") - private String prompt; + private final String prompt; /* * The number of images to generate. @@ -120,8 +120,7 @@ public ImageGenerationOptions setSize(ImageSize size) { } /** - * Get the user property: A unique identifier representing your end-user, which can help to monitor and detect - * abuse. + * Get the user property: A unique identifier representing your end-user, which can help to monitor and detect abuse. * * @return the user value. */ @@ -131,8 +130,7 @@ public String getUser() { } /** - * Set the user property: A unique identifier representing your end-user, which can help to monitor and detect - * abuse. + * Set the user property: A unique identifier representing your end-user, which can help to monitor and detect abuse. * * @param user the user value to set. * @return the ImageGenerationOptions object itself. @@ -173,8 +171,7 @@ public ImageGenerationOptions setResponseFormat(ImageGenerationResponseFormat re } /* - * The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 - * will be + * The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 will be * inferred as a default. */ @Generated @@ -198,8 +195,7 @@ public ImageGenerationOptions setResponseFormat(ImageGenerationResponseFormat re private ImageGenerationStyle style; /** - * Get the model property: The model name or Azure OpenAI model deployment name to use for image generation. If not - * specified, dall-e-2 will be + * Get the model property: The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 will be * inferred as a default. * * @return the model value. @@ -210,8 +206,7 @@ public String getModel() { } /** - * Set the model property: The model name or Azure OpenAI model deployment name to use for image generation. If not - * specified, dall-e-2 will be + * Set the model property: The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 will be * inferred as a default. * * @param model the model value to set. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationPromptFilterResults.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationPromptFilterResults.java index 934fd9c902e0..3c4364312db2 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationPromptFilterResults.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationPromptFilterResults.java @@ -15,9 +15,9 @@ public final class ImageGenerationPromptFilterResults { /* * Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. */ @Generated @JsonProperty(value = "sexual") @@ -73,9 +73,9 @@ private ImageGenerationPromptFilterResults() { /** * Get the sexual property: Describes language related to anatomical organs and genitals, romantic relationships, - * acts portrayed in erotic or affectionate terms, physical sexual acts, including - * those portrayed as an assault or a forced sexual violent act against one’s will, - * prostitution, pornography, and abuse. + * acts portrayed in erotic or affectionate terms, physical sexual acts, including + * those portrayed as an assault or a forced sexual violent act against one’s will, + * prostitution, pornography, and abuse. * * @return the sexual value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationStyle.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationStyle.java index e718b13ffe02..aba1ad903400 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationStyle.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerationStyle.java @@ -9,15 +9,13 @@ import java.util.Collection; /** - * An image generation configuration that specifies how the model should incorporate realism and other visual - * characteristics. + * An image generation configuration that specifies how the model should incorporate realism and other visual characteristics. * Only configurable with dall-e-3 models. */ public final class ImageGenerationStyle extends ExpandableStringEnum { /** - * Requests image generation in a natural style with less preference for dramatic and hyper-realistic - * characteristics. + * Requests image generation in a natural style with less preference for dramatic and hyper-realistic characteristics. */ @Generated public static final ImageGenerationStyle NATURAL = fromString("natural"); diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerations.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerations.java index 64b7c62b29c1..1af761ba714a 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerations.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/ImageGenerations.java @@ -24,14 +24,14 @@ public final class ImageGenerations { */ @Generated @JsonProperty(value = "created") - private long createdAt; + private final long createdAt; /* * The images generated by the operation. */ @Generated @JsonProperty(value = "data") - private List data; + private final List data; /** * Creates an instance of ImageGenerations class. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/MaxTokensFinishDetails.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/MaxTokensFinishDetails.java index 2536667fa2fc..445c01f36c34 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/MaxTokensFinishDetails.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/MaxTokensFinishDetails.java @@ -9,11 +9,10 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * A structured representation of a stop reason that signifies a token limit was reached before the model could - * naturally + * A structured representation of a stop reason that signifies a token limit was reached before the model could naturally * complete. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", defaultImpl = MaxTokensFinishDetails.class, visible = true) @JsonTypeName("max_tokens") @Immutable public final class MaxTokensFinishDetails extends ChatFinishDetails { @@ -23,5 +22,6 @@ public final class MaxTokensFinishDetails extends ChatFinishDetails { */ @Generated private MaxTokensFinishDetails() { + setType("max_tokens"); } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAccessTokenAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAccessTokenAuthenticationOptions.java index 0fcad838f26b..8c6e2e218c58 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAccessTokenAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAccessTokenAuthenticationOptions.java @@ -13,7 +13,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using access token. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataAccessTokenAuthenticationOptions.class, + visible = true) @JsonTypeName("access_token") @Immutable public final class OnYourDataAccessTokenAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -23,7 +27,7 @@ public final class OnYourDataAccessTokenAuthenticationOptions extends OnYourData */ @Generated @JsonProperty(value = "access_token") - private String accessToken; + private final String accessToken; /** * Creates an instance of OnYourDataAccessTokenAuthenticationOptions class. @@ -33,6 +37,7 @@ public final class OnYourDataAccessTokenAuthenticationOptions extends OnYourData @Generated @JsonCreator public OnYourDataAccessTokenAuthenticationOptions(@JsonProperty(value = "access_token") String accessToken) { + setType(OnYourDataAuthenticationType.ACCESS_TOKEN); this.accessToken = accessToken; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataApiKeyAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataApiKeyAuthenticationOptions.java index 238f0c1570bc..6df7d203d256 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataApiKeyAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataApiKeyAuthenticationOptions.java @@ -13,7 +13,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using an API key. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataApiKeyAuthenticationOptions.class, + visible = true) @JsonTypeName("api_key") @Immutable public final class OnYourDataApiKeyAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -23,7 +27,7 @@ public final class OnYourDataApiKeyAuthenticationOptions extends OnYourDataAuthe */ @Generated @JsonProperty(value = "key") - private String key; + private final String key; /** * Creates an instance of OnYourDataApiKeyAuthenticationOptions class. @@ -33,6 +37,7 @@ public final class OnYourDataApiKeyAuthenticationOptions extends OnYourDataAuthe @Generated @JsonCreator public OnYourDataApiKeyAuthenticationOptions(@JsonProperty(value = "key") String key) { + setType(OnYourDataAuthenticationType.API_KEY); this.key = key; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationOptions.java index 275e48712ba4..721c2d0c6a96 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationOptions.java @@ -5,7 +5,9 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -14,9 +16,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type", - defaultImpl = OnYourDataAuthenticationOptions.class) + defaultImpl = OnYourDataAuthenticationOptions.class, + visible = true) @JsonTypeName("OnYourDataAuthenticationOptions") @JsonSubTypes({ @JsonSubTypes.Type(name = "api_key", value = OnYourDataApiKeyAuthenticationOptions.class), @@ -38,5 +40,36 @@ public class OnYourDataAuthenticationOptions { */ @Generated public OnYourDataAuthenticationOptions() { + this.type = OnYourDataAuthenticationType.fromString("OnYourDataAuthenticationOptions"); + } + + /* + * The authentication type. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private OnYourDataAuthenticationType type; + + /** + * Get the type property: The authentication type. + * + * @return the type value. + */ + @Generated + public OnYourDataAuthenticationType getType() { + return this.type; + } + + /** + * Set the type property: The authentication type. + * + * @param type the type value to set. + * @return the OnYourDataAuthenticationOptions object itself. + */ + @Generated + protected OnYourDataAuthenticationOptions setType(OnYourDataAuthenticationType type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationType.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationType.java new file mode 100644 index 000000000000..764f11885e9e --- /dev/null +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataAuthenticationType.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.openai.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * The authentication types supported with Azure OpenAI On Your Data. + */ +public final class OnYourDataAuthenticationType extends ExpandableStringEnum { + + /** + * Authentication via API key. + */ + @Generated + public static final OnYourDataAuthenticationType API_KEY = fromString("api_key"); + + /** + * Authentication via connection string. + */ + @Generated + public static final OnYourDataAuthenticationType CONNECTION_STRING = fromString("connection_string"); + + /** + * Authentication via key and key ID pair. + */ + @Generated + public static final OnYourDataAuthenticationType KEY_AND_KEY_ID = fromString("key_and_key_id"); + + /** + * Authentication via encoded API key. + */ + @Generated + public static final OnYourDataAuthenticationType ENCODED_API_KEY = fromString("encoded_api_key"); + + /** + * Authentication via access token. + */ + @Generated + public static final OnYourDataAuthenticationType ACCESS_TOKEN = fromString("access_token"); + + /** + * Authentication via system-assigned managed identity. + */ + @Generated + public static final OnYourDataAuthenticationType SYSTEM_ASSIGNED_MANAGED_IDENTITY + = fromString("system_assigned_managed_identity"); + + /** + * Authentication via user-assigned managed identity. + */ + @Generated + public static final OnYourDataAuthenticationType USER_ASSIGNED_MANAGED_IDENTITY + = fromString("user_assigned_managed_identity"); + + /** + * Creates a new instance of OnYourDataAuthenticationType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public OnYourDataAuthenticationType() { + } + + /** + * Creates or finds a OnYourDataAuthenticationType from its string representation. + * + * @param name a name to look for. + * @return the corresponding OnYourDataAuthenticationType. + */ + @Generated + @JsonCreator + public static OnYourDataAuthenticationType fromString(String name) { + return fromString(name, OnYourDataAuthenticationType.class); + } + + /** + * Gets known OnYourDataAuthenticationType values. + * + * @return known OnYourDataAuthenticationType values. + */ + @Generated + public static Collection values() { + return values(OnYourDataAuthenticationType.class); + } +} diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataConnectionStringAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataConnectionStringAuthenticationOptions.java index da483710c3d5..4378e14a4154 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataConnectionStringAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataConnectionStringAuthenticationOptions.java @@ -13,7 +13,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using a connection string. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataConnectionStringAuthenticationOptions.class, + visible = true) @JsonTypeName("connection_string") @Immutable public final class OnYourDataConnectionStringAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -23,7 +27,7 @@ public final class OnYourDataConnectionStringAuthenticationOptions extends OnYou */ @Generated @JsonProperty(value = "connection_string") - private String connectionString; + private final String connectionString; /** * Creates an instance of OnYourDataConnectionStringAuthenticationOptions class. @@ -34,6 +38,7 @@ public final class OnYourDataConnectionStringAuthenticationOptions extends OnYou @JsonCreator public OnYourDataConnectionStringAuthenticationOptions( @JsonProperty(value = "connection_string") String connectionString) { + setType(OnYourDataAuthenticationType.CONNECTION_STRING); this.connectionString = connectionString; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataDeploymentNameVectorizationSource.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataDeploymentNameVectorizationSource.java index 21affae2947f..d878a3e76561 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataDeploymentNameVectorizationSource.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataDeploymentNameVectorizationSource.java @@ -11,22 +11,24 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is - * based + * The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based * on an internal embeddings model deployment name in the same Azure OpenAI resource. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataDeploymentNameVectorizationSource.class, + visible = true) @JsonTypeName("deployment_name") @Immutable public final class OnYourDataDeploymentNameVectorizationSource extends OnYourDataVectorizationSource { /* - * The embedding model deployment name within the same Azure OpenAI resource. This enables you to use vector search - * without Azure OpenAI api-key and without Azure OpenAI public network access. + * The embedding model deployment name within the same Azure OpenAI resource. This enables you to use vector search without Azure OpenAI api-key and without Azure OpenAI public network access. */ @Generated @JsonProperty(value = "deployment_name") - private String deploymentName; + private final String deploymentName; /** * Creates an instance of OnYourDataDeploymentNameVectorizationSource class. @@ -36,12 +38,12 @@ public final class OnYourDataDeploymentNameVectorizationSource extends OnYourDat @Generated @JsonCreator public OnYourDataDeploymentNameVectorizationSource(@JsonProperty(value = "deployment_name") String deploymentName) { + setType(OnYourDataVectorizationSourceType.DEPLOYMENT_NAME); this.deploymentName = deploymentName; } /** - * Get the deploymentName property: The embedding model deployment name within the same Azure OpenAI resource. This - * enables you to use vector search without Azure OpenAI api-key and without Azure OpenAI public network access. + * Get the deploymentName property: The embedding model deployment name within the same Azure OpenAI resource. This enables you to use vector search without Azure OpenAI api-key and without Azure OpenAI public network access. * * @return the deploymentName value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEncodedApiKeyAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEncodedApiKeyAuthenticationOptions.java index 5254acaa5399..8d8207f59a51 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEncodedApiKeyAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEncodedApiKeyAuthenticationOptions.java @@ -13,7 +13,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataEncodedApiKeyAuthenticationOptions.class, + visible = true) @JsonTypeName("encoded_api_key") @Immutable public final class OnYourDataEncodedApiKeyAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -23,7 +27,7 @@ public final class OnYourDataEncodedApiKeyAuthenticationOptions extends OnYourDa */ @Generated @JsonProperty(value = "encoded_api_key") - private String encodedApiKey; + private final String encodedApiKey; /** * Creates an instance of OnYourDataEncodedApiKeyAuthenticationOptions class. @@ -33,6 +37,7 @@ public final class OnYourDataEncodedApiKeyAuthenticationOptions extends OnYourDa @Generated @JsonCreator public OnYourDataEncodedApiKeyAuthenticationOptions(@JsonProperty(value = "encoded_api_key") String encodedApiKey) { + setType(OnYourDataAuthenticationType.ENCODED_API_KEY); this.encodedApiKey = encodedApiKey; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEndpointVectorizationSource.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEndpointVectorizationSource.java index 54b86d96217f..aeb58180e833 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEndpointVectorizationSource.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataEndpointVectorizationSource.java @@ -11,30 +11,31 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is - * based + * The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based * on a public Azure OpenAI endpoint call for embeddings. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataEndpointVectorizationSource.class, + visible = true) @JsonTypeName("endpoint") @Immutable public final class OnYourDataEndpointVectorizationSource extends OnYourDataVectorizationSource { /* - * Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of - * https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version - * query parameter is not allowed. + * Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version query parameter is not allowed. */ @Generated @JsonProperty(value = "endpoint") - private String endpoint; + private final String endpoint; /* * Specifies the authentication options to use when retrieving embeddings from the specified endpoint. */ @Generated @JsonProperty(value = "authentication") - private OnYourDataAuthenticationOptions authentication; + private final OnYourDataAuthenticationOptions authentication; /** * Creates an instance of OnYourDataEndpointVectorizationSource class. @@ -46,15 +47,13 @@ public final class OnYourDataEndpointVectorizationSource extends OnYourDataVecto @JsonCreator public OnYourDataEndpointVectorizationSource(@JsonProperty(value = "endpoint") String endpoint, @JsonProperty(value = "authentication") OnYourDataAuthenticationOptions authentication) { + setType(OnYourDataVectorizationSourceType.ENDPOINT); this.endpoint = endpoint; this.authentication = authentication; } /** - * Get the endpoint property: Specifies the resource endpoint URL from which embeddings should be retrieved. It - * should be in the format of - * https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version - * query parameter is not allowed. + * Get the endpoint property: Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version query parameter is not allowed. * * @return the endpoint value. */ @@ -64,8 +63,7 @@ public String getEndpoint() { } /** - * Get the authentication property: Specifies the authentication options to use when retrieving embeddings from the - * specified endpoint. + * Get the authentication property: Specifies the authentication options to use when retrieving embeddings from the specified endpoint. * * @return the authentication value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataKeyAndKeyIdAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataKeyAndKeyIdAuthenticationOptions.java index ae4a1fc38b6b..fecd485d71e7 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataKeyAndKeyIdAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataKeyAndKeyIdAuthenticationOptions.java @@ -13,7 +13,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataKeyAndKeyIdAuthenticationOptions.class, + visible = true) @JsonTypeName("key_and_key_id") @Immutable public final class OnYourDataKeyAndKeyIdAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -23,14 +27,14 @@ public final class OnYourDataKeyAndKeyIdAuthenticationOptions extends OnYourData */ @Generated @JsonProperty(value = "key") - private String key; + private final String key; /* * The key ID to use for authentication. */ @Generated @JsonProperty(value = "key_id") - private String keyId; + private final String keyId; /** * Creates an instance of OnYourDataKeyAndKeyIdAuthenticationOptions class. @@ -42,6 +46,7 @@ public final class OnYourDataKeyAndKeyIdAuthenticationOptions extends OnYourData @JsonCreator public OnYourDataKeyAndKeyIdAuthenticationOptions(@JsonProperty(value = "key") String key, @JsonProperty(value = "key_id") String keyId) { + setType(OnYourDataAuthenticationType.KEY_AND_KEY_ID); this.key = key; this.keyId = keyId; } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataModelIdVectorizationSource.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataModelIdVectorizationSource.java index 667ae1952003..e38962d45125 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataModelIdVectorizationSource.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataModelIdVectorizationSource.java @@ -11,11 +11,14 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is - * based + * The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based * on a search service model ID. Currently only supported by Elasticsearch®. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataModelIdVectorizationSource.class, + visible = true) @JsonTypeName("model_id") @Immutable public final class OnYourDataModelIdVectorizationSource extends OnYourDataVectorizationSource { @@ -25,7 +28,7 @@ public final class OnYourDataModelIdVectorizationSource extends OnYourDataVector */ @Generated @JsonProperty(value = "model_id") - private String modelId; + private final String modelId; /** * Creates an instance of OnYourDataModelIdVectorizationSource class. @@ -35,12 +38,12 @@ public final class OnYourDataModelIdVectorizationSource extends OnYourDataVector @Generated @JsonCreator public OnYourDataModelIdVectorizationSource(@JsonProperty(value = "model_id") String modelId) { + setType(OnYourDataVectorizationSourceType.MODEL_ID); this.modelId = modelId; } /** - * Get the modelId property: The embedding model ID build inside the search service. Currently only supported by - * Elasticsearch®. + * Get the modelId property: The embedding model ID build inside the search service. Currently only supported by Elasticsearch®. * * @return the modelId value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataSystemAssignedManagedIdentityAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataSystemAssignedManagedIdentityAuthenticationOptions.java index 46d0a5518d1e..bc4827ed7326 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataSystemAssignedManagedIdentityAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataSystemAssignedManagedIdentityAuthenticationOptions.java @@ -11,7 +11,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataSystemAssignedManagedIdentityAuthenticationOptions.class, + visible = true) @JsonTypeName("system_assigned_managed_identity") @Immutable public final class OnYourDataSystemAssignedManagedIdentityAuthenticationOptions @@ -22,5 +26,6 @@ public final class OnYourDataSystemAssignedManagedIdentityAuthenticationOptions */ @Generated public OnYourDataSystemAssignedManagedIdentityAuthenticationOptions() { + setType(OnYourDataAuthenticationType.SYSTEM_ASSIGNED_MANAGED_IDENTITY); } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataUserAssignedManagedIdentityAuthenticationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataUserAssignedManagedIdentityAuthenticationOptions.java index bd9a521d4596..32d500fb2c85 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataUserAssignedManagedIdentityAuthenticationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataUserAssignedManagedIdentityAuthenticationOptions.java @@ -13,7 +13,11 @@ /** * The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = OnYourDataUserAssignedManagedIdentityAuthenticationOptions.class, + visible = true) @JsonTypeName("user_assigned_managed_identity") @Immutable public final class OnYourDataUserAssignedManagedIdentityAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -23,7 +27,7 @@ public final class OnYourDataUserAssignedManagedIdentityAuthenticationOptions ex */ @Generated @JsonProperty(value = "managed_identity_resource_id") - private String managedIdentityResourceId; + private final String managedIdentityResourceId; /** * Creates an instance of OnYourDataUserAssignedManagedIdentityAuthenticationOptions class. @@ -34,12 +38,12 @@ public final class OnYourDataUserAssignedManagedIdentityAuthenticationOptions ex @JsonCreator public OnYourDataUserAssignedManagedIdentityAuthenticationOptions( @JsonProperty(value = "managed_identity_resource_id") String managedIdentityResourceId) { + setType(OnYourDataAuthenticationType.USER_ASSIGNED_MANAGED_IDENTITY); this.managedIdentityResourceId = managedIdentityResourceId; } /** - * Get the managedIdentityResourceId property: The resource ID of the user-assigned managed identity to use for - * authentication. + * Get the managedIdentityResourceId property: The resource ID of the user-assigned managed identity to use for authentication. * * @return the managedIdentityResourceId value. */ diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSource.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSource.java index 7a2265d9dd4a..4e7c7aaadfff 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSource.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSource.java @@ -5,7 +5,9 @@ import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -14,9 +16,9 @@ */ @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, - include = JsonTypeInfo.As.PROPERTY, property = "type", - defaultImpl = OnYourDataVectorizationSource.class) + defaultImpl = OnYourDataVectorizationSource.class, + visible = true) @JsonTypeName("OnYourDataVectorizationSource") @JsonSubTypes({ @JsonSubTypes.Type(name = "endpoint", value = OnYourDataEndpointVectorizationSource.class), @@ -30,5 +32,36 @@ public class OnYourDataVectorizationSource { */ @Generated public OnYourDataVectorizationSource() { + this.type = OnYourDataVectorizationSourceType.fromString("OnYourDataVectorizationSource"); + } + + /* + * The type of vectorization source to use. + */ + @Generated + @JsonTypeId + @JsonProperty(value = "type") + private OnYourDataVectorizationSourceType type; + + /** + * Get the type property: The type of vectorization source to use. + * + * @return the type value. + */ + @Generated + public OnYourDataVectorizationSourceType getType() { + return this.type; + } + + /** + * Set the type property: The type of vectorization source to use. + * + * @param type the type value to set. + * @return the OnYourDataVectorizationSource object itself. + */ + @Generated + protected OnYourDataVectorizationSource setType(OnYourDataVectorizationSourceType type) { + this.type = type; + return this; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSourceType.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSourceType.java new file mode 100644 index 000000000000..e782aa41a903 --- /dev/null +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/OnYourDataVectorizationSourceType.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.openai.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with + * vector search. + */ +public final class OnYourDataVectorizationSourceType extends ExpandableStringEnum { + + /** + * Represents vectorization performed by public service calls to an Azure OpenAI embedding model. + */ + @Generated + public static final OnYourDataVectorizationSourceType ENDPOINT = fromString("endpoint"); + + /** + * Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but + * On Your Data will use this model deployment via an internal call rather than a public one, which enables vector + * search even in private networks. + */ + @Generated + public static final OnYourDataVectorizationSourceType DEPLOYMENT_NAME = fromString("deployment_name"); + + /** + * Represents a specific embedding model ID as defined in the search service. + * Currently only supported by Elasticsearch®. + */ + @Generated + public static final OnYourDataVectorizationSourceType MODEL_ID = fromString("model_id"); + + /** + * Creates a new instance of OnYourDataVectorizationSourceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public OnYourDataVectorizationSourceType() { + } + + /** + * Creates or finds a OnYourDataVectorizationSourceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding OnYourDataVectorizationSourceType. + */ + @Generated + @JsonCreator + public static OnYourDataVectorizationSourceType fromString(String name) { + return fromString(name, OnYourDataVectorizationSourceType.class); + } + + /** + * Gets known OnYourDataVectorizationSourceType values. + * + * @return known OnYourDataVectorizationSourceType values. + */ + @Generated + public static Collection values() { + return values(OnYourDataVectorizationSourceType.class); + } +} diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionConfiguration.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionConfiguration.java index f706e1137d58..af28f80f5667 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionConfiguration.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionConfiguration.java @@ -14,7 +14,11 @@ * A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat * extension. */ -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + property = "type", + defaultImpl = PineconeChatExtensionConfiguration.class, + visible = true) @JsonTypeName("pinecone") @Immutable public final class PineconeChatExtensionConfiguration extends AzureChatExtensionConfiguration { @@ -24,7 +28,7 @@ public final class PineconeChatExtensionConfiguration extends AzureChatExtension */ @Generated @JsonProperty(value = "parameters") - private PineconeChatExtensionParameters parameters; + private final PineconeChatExtensionParameters parameters; /** * Get the parameters property: The parameters to use when configuring Azure OpenAI chat extensions. @@ -45,6 +49,7 @@ public PineconeChatExtensionParameters getParameters() { @JsonCreator public PineconeChatExtensionConfiguration( @JsonProperty(value = "parameters") PineconeChatExtensionParameters parameters) { + setType(AzureChatExtensionType.PINECONE); this.parameters = parameters; } } diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionParameters.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionParameters.java index 39f7c448563e..d754b88cc61d 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionParameters.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeChatExtensionParameters.java @@ -16,8 +16,7 @@ public final class PineconeChatExtensionParameters { /* * The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -41,17 +40,14 @@ public final class PineconeChatExtensionParameters { private Boolean inScope; /* - * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the - * precision but lower recall of the answer. + * The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. */ @Generated @JsonProperty(value = "strictness") private Integer strictness; /* - * Give the model instructions about how it should behave and any context it should reference when generating a - * response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token - * limit for it, and it counts against the overall token limit. + * Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. */ @Generated @JsonProperty(value = "role_information") @@ -62,33 +58,32 @@ public final class PineconeChatExtensionParameters { */ @Generated @JsonProperty(value = "environment") - private String environment; + private final String environment; /* * The name of the Pinecone database index. */ @Generated @JsonProperty(value = "index_name") - private String indexName; + private final String indexName; /* * Customized field mapping behavior to use when interacting with the search index. */ @Generated @JsonProperty(value = "fields_mapping") - private PineconeFieldMappingOptions fieldsMapping; + private final PineconeFieldMappingOptions fieldsMapping; /* * The embedding dependency for vector search. */ @Generated @JsonProperty(value = "embedding_dependency") - private OnYourDataVectorizationSource embeddingDependency; + private final OnYourDataVectorizationSource embeddingDependency; /** * Get the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -102,8 +97,7 @@ public OnYourDataAuthenticationOptions getAuthentication() { /** * Set the authentication property: The authentication method to use when accessing the defined data source. - * Each data source type supports a specific set of available authentication methods; please see the documentation - * of + * Each data source type supports a specific set of available authentication methods; please see the documentation of * the data source for supported mechanisms. * If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) * authentication. @@ -162,8 +156,7 @@ public PineconeChatExtensionParameters setInScope(Boolean inScope) { } /** - * Get the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Get the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @return the strictness value. */ @@ -173,8 +166,7 @@ public Integer getStrictness() { } /** - * Set the strictness property: The configured strictness of the search relevance filtering. The higher of - * strictness, the higher of the precision but lower recall of the answer. + * Set the strictness property: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer. * * @param strictness the strictness value to set. * @return the PineconeChatExtensionParameters object itself. @@ -186,9 +178,7 @@ public PineconeChatExtensionParameters setStrictness(Integer strictness) { } /** - * Get the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Get the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @return the roleInformation value. */ @@ -198,9 +188,7 @@ public String getRoleInformation() { } /** - * Set the roleInformation property: Give the model instructions about how it should behave and any context it - * should reference when generating a response. You can describe the assistant's personality and tell it how to - * format responses. There's a 100 token limit for it, and it counts against the overall token limit. + * Set the roleInformation property: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit. * * @param roleInformation the roleInformation value to set. * @return the PineconeChatExtensionParameters object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeFieldMappingOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeFieldMappingOptions.java index 2c141f060cde..92c74c1be7e8 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeFieldMappingOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/PineconeFieldMappingOptions.java @@ -41,7 +41,7 @@ public final class PineconeFieldMappingOptions { */ @Generated @JsonProperty(value = "content_fields") - private List contentFields; + private final List contentFields; /* * The separator pattern that content fields should use. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationOptions.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationOptions.java index 86d0a8937331..0672c87fe247 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationOptions.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationOptions.java @@ -19,14 +19,14 @@ public final class SpeechGenerationOptions { */ @Generated @JsonProperty(value = "input") - private String input; + private final String input; /* * The voice to use for text-to-speech. */ @Generated @JsonProperty(value = "voice") - private SpeechVoice voice; + private final SpeechVoice voice; /* * The audio output format for the spoken text. By default, the MP3 format will be used. @@ -36,8 +36,7 @@ public final class SpeechGenerationOptions { private SpeechGenerationResponseFormat responseFormat; /* - * The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, with 1.0 the default - * and higher values corresponding to faster speech. + * The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, with 1.0 the default and higher values corresponding to faster speech. */ @Generated @JsonProperty(value = "speed") @@ -78,8 +77,7 @@ public SpeechVoice getVoice() { } /** - * Get the responseFormat property: The audio output format for the spoken text. By default, the MP3 format will be - * used. + * Get the responseFormat property: The audio output format for the spoken text. By default, the MP3 format will be used. * * @return the responseFormat value. */ @@ -89,8 +87,7 @@ public SpeechGenerationResponseFormat getResponseFormat() { } /** - * Set the responseFormat property: The audio output format for the spoken text. By default, the MP3 format will be - * used. + * Set the responseFormat property: The audio output format for the spoken text. By default, the MP3 format will be used. * * @param responseFormat the responseFormat value to set. * @return the SpeechGenerationOptions object itself. @@ -102,8 +99,7 @@ public SpeechGenerationOptions setResponseFormat(SpeechGenerationResponseFormat } /** - * Get the speed property: The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, - * with 1.0 the default and higher values corresponding to faster speech. + * Get the speed property: The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, with 1.0 the default and higher values corresponding to faster speech. * * @return the speed value. */ @@ -113,8 +109,7 @@ public Double getSpeed() { } /** - * Set the speed property: The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, - * with 1.0 the default and higher values corresponding to faster speech. + * Set the speed property: The speed of speech for generated audio. Values are valid in the range from 0.25 to 4.0, with 1.0 the default and higher values corresponding to faster speech. * * @param speed the speed value to set. * @return the SpeechGenerationOptions object itself. diff --git a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationResponseFormat.java b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationResponseFormat.java index 920909bd8cc9..fc27b65f5c31 100644 --- a/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationResponseFormat.java +++ b/sdk/openai/azure-ai-openai/src/main/java/com/azure/ai/openai/models/SpeechGenerationResponseFormat.java @@ -26,15 +26,13 @@ public final class SpeechGenerationResponseFormat extends ExpandableStringEnum 0) { policies.add(new AddHeadersPolicy(headers)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .forEach(p -> policies.add(p)); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); @@ -305,12 +306,15 @@ private HttpPipeline createHttpPipeline() { if (tokenCredential != null) { policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); } - this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .forEach(p -> policies.add(p)); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(localHttpLogOptions)); HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient).clientOptions(localClientOptions).build(); + .httpClient(httpClient) + .clientOptions(localClientOptions) + .build(); return httpPipeline; } diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java index 7185af3317cc..8b7770db8814 100644 --- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java @@ -45,9 +45,7 @@ public final class DiscoveryAsyncClient { /** * Get data using search. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -75,15 +73,13 @@ public final class DiscoveryAsyncClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
-     *     @search.count: Integer (Optional)
-     *     @search.count.approximate: Boolean (Optional)
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
      *     continuationToken: String (Optional)
-     *     @search.facets (Optional): {
+     *     @search.facets (Optional): {
      *         entityType (Optional): [
      *              (Optional){
      *                 count: Integer (Optional)
@@ -120,7 +116,7 @@ public final class DiscoveryAsyncClient {
      *     }
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.highlights (Optional): {
      *                 id (Optional): [
      *                     String (Optional)
@@ -199,9 +195,7 @@ public Mono> queryWithResponse(BinaryData queryOptions, Req
 
     /**
      * Get search suggestions by query criteria.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -209,14 +203,12 @@ public Mono> queryWithResponse(BinaryData queryOptions, Req
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.text: String (Optional)
      *             objectType: String (Optional)
      *             createTime: Long (Optional)
@@ -269,8 +261,7 @@ public Mono> queryWithResponse(BinaryData queryOptions, Req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return search suggestions by query criteria along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return search suggestions by query criteria along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -280,9 +271,7 @@ public Mono> suggestWithResponse(BinaryData suggestOptions,
 
     /**
      * Get auto complete options.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -290,9 +279,7 @@ public Mono> suggestWithResponse(BinaryData suggestOptions,
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
@@ -379,6 +366,7 @@ public Mono autoComplete(AutoCompleteOptions autoCompleteOpt
         // Generated convenience method for autoCompleteWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return autoCompleteWithResponse(BinaryData.fromObject(autoCompleteOptions), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AutoCompleteResult.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AutoCompleteResult.class));
     }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java
index 03233c0eee29..b173534cea0e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java
@@ -43,9 +43,7 @@ public final class DiscoveryClient {
 
     /**
      * Get data using search.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -73,15 +71,13 @@ public final class DiscoveryClient {
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
-     *     @search.count: Integer (Optional)
-     *     @search.count.approximate: Boolean (Optional)
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
      *     continuationToken: String (Optional)
-     *     @search.facets (Optional): {
+     *     @search.facets (Optional): {
      *         entityType (Optional): [
      *              (Optional){
      *                 count: Integer (Optional)
@@ -118,7 +114,7 @@ public final class DiscoveryClient {
      *     }
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.highlights (Optional): {
      *                 id (Optional): [
      *                     String (Optional)
@@ -197,9 +193,7 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
 
     /**
      * Get search suggestions by query criteria.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -207,14 +201,12 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.text: String (Optional)
      *             objectType: String (Optional)
      *             createTime: Long (Optional)
@@ -277,9 +269,7 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque
 
     /**
      * Get auto complete options.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -287,9 +277,7 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java
index 89a7486d0a2c..ddeb84842369 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java
@@ -61,36 +61,17 @@ public final class EntityAsyncClient {
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -169,9 +150,7 @@ public final class EntityAsyncClient {
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -246,8 +225,7 @@ public final class EntityAsyncClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -258,34 +236,15 @@ public Mono> createOrUpdateWithResponse(BinaryData atlasEnt
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -391,36 +350,17 @@ public Mono> getByIdsWithResponse(List guid, Reques
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -501,9 +441,7 @@ public Mono> getByIdsWithResponse(List guid, Reques
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -578,8 +516,7 @@ public Mono> getByIdsWithResponse(List guid, Reques
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -591,9 +528,7 @@ public Mono> batchCreateOrUpdateWithResponse(BinaryData atl
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -667,8 +602,7 @@ public Mono> batchCreateOrUpdateWithResponse(BinaryData atl
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -678,9 +612,7 @@ public Mono> batchDeleteWithResponse(List guid, Req
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classification (Optional): {
@@ -723,34 +655,15 @@ public Mono> addClassificationWithResponse(BinaryData classificat
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -836,8 +749,7 @@ public Mono> addClassificationWithResponse(BinaryData classificat
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return complete definition of an entity given its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return complete definition of an entity given its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -851,15 +763,11 @@ public Mono> getWithResponse(String guid, RequestOptions re
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -935,8 +843,7 @@ public Mono> getWithResponse(String guid, RequestOptions re
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -947,9 +854,7 @@ public Mono> updateAttributeByIdWithResponse(String guid, S
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1023,8 +928,7 @@ public Mono> updateAttributeByIdWithResponse(String guid, S
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1034,9 +938,7 @@ public Mono> deleteWithResponse(String guid, RequestOptions
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -1064,8 +966,7 @@ public Mono> deleteWithResponse(String guid, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return classification for a given entity represented by a GUID along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return classification for a given entity represented by a GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1095,9 +996,7 @@ public Mono> removeClassificationWithResponse(String guid, String
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     list (Optional): [
@@ -1127,9 +1026,7 @@ public Mono> getClassificationsWithResponse(String guid, Re
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1170,9 +1067,7 @@ public Mono> addClassificationsWithResponse(String guid, BinaryDa
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1226,41 +1121,17 @@ public Mono> updateClassificationsWithResponse(String guid, Binar
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1359,8 +1230,7 @@ public Mono> updateClassificationsWithResponse(String guid, Binar
      * 
      * The REST request would look something like this:
      * GET
-     * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1385,29 +1255,15 @@ public Mono> getByUniqueAttributeWithResponse(String typeNa
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1486,9 +1342,7 @@ public Mono> getByUniqueAttributeWithResponse(String typeNa
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1564,8 +1418,7 @@ public Mono> getByUniqueAttributeWithResponse(String typeNa
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1588,29 +1441,15 @@ public Mono> updateByUniqueAttributeWithResponse(String typ
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1684,8 +1523,7 @@ public Mono> updateByUniqueAttributeWithResponse(String typ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1697,24 +1535,12 @@ public Mono> deleteByUniqueAttributeWithResponse(String typ
     /**
      * Delete a given classification from an entity identified by its type and unique
      * attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -1737,29 +1563,15 @@ public Mono> removeClassificationByUniqueAttributeWithResponse(St /** * Add classification to the entity identified by its type and unique attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1800,29 +1612,15 @@ public Mono> addClassificationsByUniqueAttributeWithResponse(Stri
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1864,9 +1662,7 @@ public Mono> updateClassificationsUniqueByAttributeWithResponse(S
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -1925,9 +1721,7 @@ public Mono> updateClassificationsUniqueByAttributeWithResponse(S
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *     String (Required)
@@ -1968,42 +1762,18 @@ public Mono> batchSetClassificationsWithResponse(BinaryData
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -2103,9 +1873,7 @@ public Mono> batchGetByUniqueAttributesWithResponse(String
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -2177,9 +1945,7 @@ public Mono> getHeaderWithResponse(String guid, RequestOpti
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -2206,29 +1972,15 @@ public Mono> removeBusinessMetadataWithResponse(String guid, Bina
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -2255,9 +2007,7 @@ public Mono> addOrUpdateBusinessMetadataWithResponse(String guid,
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -2284,9 +2034,7 @@ public Mono> removeBusinessMetadataAttributesWithResponse(String
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -2313,9 +2061,7 @@ public Mono> addOrUpdateBusinessMetadataAttributesWithResponse(St
 
     /**
      * Get the sample Template for uploading/creating bulk BusinessMetaData.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
@@ -2325,8 +2071,7 @@ public Mono> addOrUpdateBusinessMetadataAttributesWithResponse(St * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the sample Template for uploading/creating bulk BusinessMetaData along with {@link Response} on - * successful completion of {@link Mono}. + * @return the sample Template for uploading/creating bulk BusinessMetaData along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -2336,9 +2081,7 @@ public Mono> getBusinessMetadataTemplateWithResponse(Reques /** * Upload the file for creating Business Metadata in BULK. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -2367,16 +2110,13 @@ public Mono> getBusinessMetadataTemplateWithResponse(Reques
     @ServiceMethod(returns = ReturnType.SINGLE)
     Mono> importBusinessMetadataWithResponse(BinaryData businessMetadataOptions,
         RequestOptions requestOptions) {
-        // Protocol API requires serialization of parts with content-disposition and data, as operation
-        // 'importBusinessMetadata' is 'multipart/form-data'
+        // Protocol API requires serialization of parts with content-disposition and data, as operation 'importBusinessMetadata' is 'multipart/form-data'
         return this.serviceClient.importBusinessMetadataWithResponseAsync(businessMetadataOptions, requestOptions);
     }
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2399,9 +2139,7 @@ public Mono> removeLabelsWithResponse(String guid, RequestOptions
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2424,9 +2162,7 @@ public Mono> setLabelsWithResponse(String guid, RequestOptions re
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2461,29 +2197,15 @@ public Mono> addLabelWithResponse(String guid, RequestOptions req
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2521,29 +2243,15 @@ public Mono> removeLabelsByUniqueAttributeWithResponse(String typ
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2580,29 +2288,15 @@ public Mono> setLabelsByUniqueAttributeWithResponse(String typeNa
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2625,9 +2319,7 @@ public Mono> addLabelsByUniqueAttributeWithResponse(String typeNa
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     entityGuids (Optional): [
@@ -2635,9 +2327,7 @@ public Mono> addLabelsByUniqueAttributeWithResponse(String typeNa
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2712,8 +2402,7 @@ public Mono> addLabelsByUniqueAttributeWithResponse(String typeNa
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3845,8 +3534,7 @@ public Mono addOrUpdateBusinessMetadataAttributes(String businessMetadataN
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return the sample Template for uploading/creating bulk BusinessMetaData on successful completion of
-     * {@link Mono}.
+     * @return the sample Template for uploading/creating bulk BusinessMetaData on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3876,7 +3564,8 @@ public Mono importBusinessMetadata(BusinessMetadataOptions bus
         return importBusinessMetadataWithResponse(new MultipartFormDataHelper(requestOptions)
             .serializeFileField("file", businessMetadataOptions.getFile().getContent(),
                 businessMetadataOptions.getFile().getContentType(), businessMetadataOptions.getFile().getFilename())
-            .end().getRequestBody(), requestOptions).flatMap(FluxUtil::toMono)
+            .end()
+            .getRequestBody(), requestOptions).flatMap(FluxUtil::toMono)
             .map(protocolMethodData -> protocolMethodData.toObject(BulkImportResult.class));
     }
 
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java
index 5f5cc1d4e047..a24ea3ae3a15 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java
@@ -59,36 +59,17 @@ public final class EntityClient {
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -167,9 +148,7 @@ public final class EntityClient {
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -255,34 +234,15 @@ public Response createOrUpdateWithResponse(BinaryData atlasEntityWit
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -388,36 +348,17 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -498,9 +439,7 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -587,9 +526,7 @@ public Response batchCreateOrUpdateWithResponse(BinaryData atlasEnti
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -673,9 +610,7 @@ public Response batchDeleteWithResponse(List guid, RequestOp
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classification (Optional): {
@@ -718,34 +653,15 @@ public Response addClassificationWithResponse(BinaryData classificationAss
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -845,15 +761,11 @@ public Response getWithResponse(String guid, RequestOptions requestO
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -940,9 +852,7 @@ public Response updateAttributeByIdWithResponse(String guid, String
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1026,9 +936,7 @@ public Response deleteWithResponse(String guid, RequestOptions reque
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -1086,9 +994,7 @@ public Response removeClassificationWithResponse(String guid, String class
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     list (Optional): [
@@ -1118,9 +1024,7 @@ public Response getClassificationsWithResponse(String guid, RequestO
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1160,9 +1064,7 @@ public Response addClassificationsWithResponse(String guid, BinaryData bod
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1216,41 +1118,17 @@ public Response updateClassificationsWithResponse(String guid, BinaryData
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1374,29 +1252,15 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1475,9 +1339,7 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1575,29 +1437,15 @@ public Response updateByUniqueAttributeWithResponse(String typeName,
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1682,24 +1530,12 @@ public Response deleteByUniqueAttributeWithResponse(String typeName,
     /**
      * Delete a given classification from an entity identified by its type and unique
      * attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -1722,29 +1558,15 @@ public Response removeClassificationByUniqueAttributeWithResponse(String t /** * Add classification to the entity identified by its type and unique attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1785,29 +1607,15 @@ public Response addClassificationsByUniqueAttributeWithResponse(String typ
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1848,9 +1656,7 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -1909,9 +1715,7 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *     String (Required)
@@ -1952,42 +1756,18 @@ public Response batchSetClassificationsWithResponse(BinaryData atlas
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -2086,9 +1866,7 @@ public Response batchGetByUniqueAttributesWithResponse(String typeNa
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -2160,9 +1938,7 @@ public Response getHeaderWithResponse(String guid, RequestOptions re
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -2189,29 +1965,15 @@ public Response removeBusinessMetadataWithResponse(String guid, BinaryData
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -2238,9 +2000,7 @@ public Response addOrUpdateBusinessMetadataWithResponse(String guid, Binar
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -2267,9 +2027,7 @@ public Response removeBusinessMetadataAttributesWithResponse(String busine
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -2296,9 +2054,7 @@ public Response addOrUpdateBusinessMetadataAttributesWithResponse(String b
 
     /**
      * Get the sample Template for uploading/creating bulk BusinessMetaData.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
@@ -2318,9 +2074,7 @@ public Response getBusinessMetadataTemplateWithResponse(RequestOptio /** * Upload the file for creating Business Metadata in BULK. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -2349,16 +2103,13 @@ public Response getBusinessMetadataTemplateWithResponse(RequestOptio
     @ServiceMethod(returns = ReturnType.SINGLE)
     Response importBusinessMetadataWithResponse(BinaryData businessMetadataOptions,
         RequestOptions requestOptions) {
-        // Protocol API requires serialization of parts with content-disposition and data, as operation
-        // 'importBusinessMetadata' is 'multipart/form-data'
+        // Protocol API requires serialization of parts with content-disposition and data, as operation 'importBusinessMetadata' is 'multipart/form-data'
         return this.serviceClient.importBusinessMetadataWithResponse(businessMetadataOptions, requestOptions);
     }
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2381,9 +2132,7 @@ public Response removeLabelsWithResponse(String guid, RequestOptions reque
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2406,9 +2155,7 @@ public Response setLabelsWithResponse(String guid, RequestOptions requestO
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2443,29 +2190,15 @@ public Response addLabelWithResponse(String guid, RequestOptions requestOp
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2502,29 +2235,15 @@ public Response removeLabelsByUniqueAttributeWithResponse(String typeName,
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2561,29 +2280,15 @@ public Response setLabelsByUniqueAttributeWithResponse(String typeName, Re
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -2606,9 +2311,7 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     entityGuids (Optional): [
@@ -2616,9 +2319,7 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2859,7 +2560,8 @@ public EntityMutationResult batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEn
                 false);
         }
         return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions)
-            .getValue().toObject(EntityMutationResult.class);
+            .getValue()
+            .toObject(EntityMutationResult.class);
     }
 
     /**
@@ -2888,7 +2590,8 @@ public EntityMutationResult batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEn
         // Generated convenience method for batchCreateOrUpdateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions)
-            .getValue().toObject(EntityMutationResult.class);
+            .getValue()
+            .toObject(EntityMutationResult.class);
     }
 
     /**
@@ -3812,7 +3515,8 @@ public BulkImportResult importBusinessMetadata(BusinessMetadataOptions businessM
         return importBusinessMetadataWithResponse(new MultipartFormDataHelper(requestOptions)
             .serializeFileField("file", businessMetadataOptions.getFile().getContent(),
                 businessMetadataOptions.getFile().getContentType(), businessMetadataOptions.getFile().getFilename())
-            .end().getRequestBody(), requestOptions).getValue().toObject(BulkImportResult.class);
+            .end()
+            .getRequestBody(), requestOptions).getValue().toObject(BulkImportResult.class);
     }
 
     /**
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java
index 791e52c4b047..633d614e546a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java
@@ -50,52 +50,23 @@ public final class GlossaryAsyncClient {
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'. + *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -169,9 +140,7 @@ public Mono> batchGetWithResponse(RequestOptions requestOpt
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -227,9 +196,7 @@ public Mono> batchGetWithResponse(RequestOptions requestOpt
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -302,9 +269,7 @@ public Mono> createWithResponse(BinaryData atlasGlossary, R
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -366,9 +331,7 @@ public Mono> createWithResponse(BinaryData atlasGlossary, R
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -447,9 +410,7 @@ public Mono> createCategoriesWithResponse(BinaryData body,
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -509,9 +470,7 @@ public Mono> createCategoriesWithResponse(BinaryData body,
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -589,9 +548,7 @@ public Mono> createCategoryWithResponse(BinaryData atlasGlo
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -658,8 +615,7 @@ public Mono> createCategoryWithResponse(BinaryData atlasGlo
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return specific glossary category by its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return specific glossary category by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -669,9 +625,7 @@ public Mono> getCategoryWithResponse(String categoryId, Req
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -731,9 +685,7 @@ public Mono> getCategoryWithResponse(String categoryId, Req
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -830,17 +782,13 @@ public Mono> deleteCategoryWithResponse(String categoryId, Reques
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -921,40 +869,16 @@ public Mono> partialUpdateCategoryWithResponse(String categ
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -975,8 +899,7 @@ public Mono> partialUpdateCategoryWithResponse(String categ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all related categories (parent and children) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return all related categories (parent and children) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -987,40 +910,16 @@ public Mono> getRelatedCategoriesWithResponse(String catego
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1041,8 +940,7 @@ public Mono> getRelatedCategoriesWithResponse(String catego
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all terms associated with the specific category along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return all terms associated with the specific category along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1052,28 +950,14 @@ public Mono> getCategoryTermsWithResponse(String categoryId
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1234,9 +1118,7 @@ public Mono> getCategoryTermsWithResponse(String categoryId
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1415,9 +1297,7 @@ public Mono> createTermWithResponse(BinaryData atlasGlossar
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1585,8 +1465,7 @@ public Mono> createTermWithResponse(BinaryData atlasGlossar
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a specific glossary term by its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a specific glossary term by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1596,28 +1475,14 @@ public Mono> getTermWithResponse(String termId, RequestOpti
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1778,9 +1643,7 @@ public Mono> getTermWithResponse(String termId, RequestOpti
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1978,36 +1841,20 @@ public Mono> deleteTermWithResponse(String termId, RequestOptions
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2188,28 +2035,14 @@ public Mono> partialUpdateTermWithResponse(String termId, B
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2372,9 +2205,7 @@ public Mono> partialUpdateTermWithResponse(String termId, B
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -2555,40 +2386,16 @@ public Mono> createTermsWithResponse(BinaryData body, Reque
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -2635,9 +2442,7 @@ public Mono> getEntitiesAssignedWithTermWithResponse(String
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2680,9 +2485,7 @@ public Mono> assignTermToEntitiesWithResponse(String termId, Bina
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2726,40 +2529,16 @@ public Mono> deleteTermAssignmentFromEntitiesWithResponse(String
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -2782,8 +2561,7 @@ public Mono> deleteTermAssignmentFromEntitiesWithResponse(String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all related terms for a specific term by its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return all related terms for a specific term by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -2793,9 +2571,7 @@ public Mono> getRelatedTermsWithResponse(String termId, Req
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2868,28 +2644,14 @@ public Mono> getWithResponse(String glossaryId, RequestOpti
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2945,9 +2707,7 @@ public Mono> getWithResponse(String glossaryId, RequestOpti
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3041,40 +2801,16 @@ public Mono> deleteWithResponse(String glossaryId, RequestOptions
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3143,8 +2879,7 @@ public Mono> deleteWithResponse(String glossaryId, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the categories belonging to a specific glossary along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the categories belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3155,40 +2890,16 @@ public Mono> getCategoriesWithResponse(String glossaryId, R
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3207,8 +2918,7 @@ public Mono> getCategoriesWithResponse(String glossaryId, R
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the category headers belonging to a specific glossary along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return the category headers belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3221,14 +2931,12 @@ public Mono> getCategoriesHeadersWithResponse(String glossa
      * Get a specific glossary with detailed information. This API is not
      * recommend.
      * 
-     * Recommend to fetch terms/categories details separately using
+     * Recommend to fetch terms/categories details separately using 
      * 
-     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
+     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and 
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3452,8 +3160,7 @@ public Mono> getCategoriesHeadersWithResponse(String glossa
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a specific glossary with detailed information along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a specific glossary with detailed information along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3466,40 +3173,24 @@ public Mono> getDetailedWithResponse(String glossaryId, Req
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3576,40 +3267,16 @@ public Mono> partialUpdateWithResponse(String glossaryId, B
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3779,8 +3446,7 @@ public Mono> partialUpdateWithResponse(String glossaryId, B
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return terms belonging to a specific glossary along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return terms belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3791,40 +3457,16 @@ public Mono> getTermsWithResponse(String glossaryId, Reques
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3845,8 +3487,7 @@ public Mono> getTermsWithResponse(String glossaryId, Reques
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return term headers belonging to a specific glossary along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return term headers belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3857,12 +3498,12 @@ public Mono> getTermHeadersWithResponse(String glossaryId,
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
+     *  'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
      * 
      * @param limit The page size - by default there is no paging.
      * @param offset The offset for pagination purpose.
@@ -3901,12 +3542,12 @@ public Mono> batchGet(Integer limit, Integer offset, String
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
+     *  'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
      * 
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -4213,7 +3854,8 @@ public Mono createTerm(AtlasGlossaryTerm atlasGlossaryTerm, B
             requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false);
         }
         return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4234,7 +3876,8 @@ public Mono createTerm(AtlasGlossaryTerm atlasGlossaryTerm) {
         // Generated convenience method for createTermWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4282,7 +3925,8 @@ public Mono updateTerm(String termId, AtlasGlossaryTerm atlas
             requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false);
         }
         return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4304,7 +3948,8 @@ public Mono updateTerm(String termId, AtlasGlossaryTerm atlas
         // Generated convenience method for updateTermWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4353,7 +3998,8 @@ public Mono partialUpdateTerm(String termId, Map protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4377,7 +4023,8 @@ public Mono partialUpdateTerm(String termId, Map protocolMethodData.toObject(AtlasGlossaryTerm.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class));
     }
 
     /**
@@ -4636,7 +4283,8 @@ public Mono update(String glossaryId, AtlasGlossary atlasGlossary
             requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false);
         }
         return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
@@ -4658,7 +4306,8 @@ public Mono update(String glossaryId, AtlasGlossary atlasGlossary
         // Generated convenience method for updateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
@@ -4800,9 +4449,9 @@ public Mono> getCategoriesHeaders(String glossa
      * Get a specific glossary with detailed information. This API is not
      * recommend.
      * 
-     * Recommend to fetch terms/categories details separately using
+     * Recommend to fetch terms/categories details separately using 
      * 
-     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
+     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and 
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
      * 
@@ -4829,7 +4478,7 @@ public Mono getDetailed(String glossaryId) {
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
@@ -4856,7 +4505,8 @@ public Mono partialUpdate(String glossaryId, Map
             requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false);
         }
         return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
@@ -4864,7 +4514,7 @@ public Mono partialUpdate(String glossaryId, Map
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
@@ -4886,7 +4536,8 @@ public Mono partialUpdate(String glossaryId, Map
         // Generated convenience method for partialUpdateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions)
-            .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
+            .flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class));
     }
 
     /**
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java
index e658f7d9d801..8d3f4dce4eae 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java
@@ -48,52 +48,23 @@ public final class GlossaryClient {
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'. + *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -167,9 +138,7 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -225,9 +194,7 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -300,9 +267,7 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -364,9 +329,7 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -445,9 +408,7 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -507,9 +468,7 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -587,9 +546,7 @@ public Response createCategoryWithResponse(BinaryData atlasGlossaryC
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -666,9 +623,7 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -728,9 +683,7 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -827,17 +780,13 @@ public Response deleteCategoryWithResponse(String categoryId, RequestOptio
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -918,40 +867,16 @@ public Response partialUpdateCategoryWithResponse(String categoryId,
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -982,40 +907,16 @@ public Response getRelatedCategoriesWithResponse(String categoryId,
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1046,28 +947,14 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1228,9 +1115,7 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1408,9 +1293,7 @@ public Response createTermWithResponse(BinaryData atlasGlossaryTerm,
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1588,28 +1471,14 @@ public Response getTermWithResponse(String termId, RequestOptions re
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1770,9 +1639,7 @@ public Response getTermWithResponse(String termId, RequestOptions re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1970,36 +1837,20 @@ public Response deleteTermWithResponse(String termId, RequestOptions reque
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2180,28 +2031,14 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2364,9 +2201,7 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -2547,40 +2382,16 @@ public Response createTermsWithResponse(BinaryData body, RequestOpti
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -2626,9 +2437,7 @@ public Response getEntitiesAssignedWithTermWithResponse(String termI
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2671,9 +2480,7 @@ public Response assignTermToEntitiesWithResponse(String termId, BinaryData
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2717,40 +2524,16 @@ public Response deleteTermAssignmentFromEntitiesWithResponse(String termId
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -2783,9 +2566,7 @@ public Response getRelatedTermsWithResponse(String termId, RequestOp
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2858,28 +2639,14 @@ public Response getWithResponse(String glossaryId, RequestOptions re
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2935,9 +2702,7 @@ public Response getWithResponse(String glossaryId, RequestOptions re
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3031,40 +2796,16 @@ public Response deleteWithResponse(String glossaryId, RequestOptions reque
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3144,40 +2885,16 @@ public Response getCategoriesWithResponse(String glossaryId, Request
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3208,14 +2925,12 @@ public Response getCategoriesHeadersWithResponse(String glossaryId,
      * Get a specific glossary with detailed information. This API is not
      * recommend.
      * 
-     * Recommend to fetch terms/categories details separately using
+     * Recommend to fetch terms/categories details separately using 
      * 
-     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
+     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and 
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3452,40 +3167,24 @@ public Response getDetailedWithResponse(String glossaryId, RequestOp
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3562,40 +3261,16 @@ public Response partialUpdateWithResponse(String glossaryId, BinaryD
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3776,40 +3451,16 @@ public Response getTermsWithResponse(String glossaryId, RequestOptio
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3841,12 +3492,12 @@ public Response getTermHeadersWithResponse(String glossaryId, Reques
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
+     *  'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
      * 
      * @param limit The page size - by default there is no paging.
      * @param offset The offset for pagination purpose.
@@ -3883,12 +3534,12 @@ public List batchGet(Integer limit, Integer offset, String sort,
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
+     *  'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
      * 
      * @throws HttpResponseException thrown if the request is rejected by server.
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -4007,7 +3658,8 @@ public AtlasGlossaryCategory updateCategory(String categoryId, AtlasGlossaryCate
         // Generated convenience method for updateCategoryWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return updateCategoryWithResponse(categoryId, BinaryData.fromObject(atlasGlossaryCategory), requestOptions)
-            .getValue().toObject(AtlasGlossaryCategory.class);
+            .getValue()
+            .toObject(AtlasGlossaryCategory.class);
     }
 
     /**
@@ -4761,9 +4413,9 @@ public List getCategoriesHeaders(String glossaryId)
      * Get a specific glossary with detailed information. This API is not
      * recommend.
      * 
-     * Recommend to fetch terms/categories details separately using
+     * Recommend to fetch terms/categories details separately using 
      * 
-     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
+     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and 
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
      * 
@@ -4789,7 +4441,7 @@ public AtlasGlossaryExtInfo getDetailed(String glossaryId) {
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
@@ -4823,7 +4475,7 @@ public AtlasGlossary partialUpdate(String glossaryId, Map body,
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java
index f55006d4631f..7234bdf00f17 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java
@@ -41,28 +41,14 @@ public final class LineageAsyncClient {
 
     /**
      * Get lineage info of the entity specified by GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -147,15 +133,13 @@ public final class LineageAsyncClient {
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return lineage info of the entity specified by GUID along with {@link Response} on successful completion of - * {@link Mono}. + * @return lineage info of the entity specified by GUID along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -165,34 +149,15 @@ public Mono> getWithResponse(String guid, String direction, /** * Return immediate next page lineage info about entity with pagination. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -277,8 +242,7 @@ public Mono> getWithResponse(String guid, String direction,
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -310,35 +274,16 @@ public Mono> getNextPageWithResponse(String guid, String di * * GET * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -423,8 +368,7 @@ public Mono> getNextPageWithResponse(String guid, String di
      * }
* * @param typeName The name of the type. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -583,7 +527,8 @@ public Mono getByUniqueAttribute(String typeName, LineageDirec requestOptions.addQueryParam("attr:qualifiedName", attribute, false); } return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions) - .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); } /** @@ -620,6 +565,7 @@ public Mono getByUniqueAttribute(String typeName, LineageDirec // Generated convenience method for getByUniqueAttributeWithResponse RequestOptions requestOptions = new RequestOptions(); return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions) - .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); } } diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java index 354ff8d62004..16127132e610 100644 --- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java @@ -39,28 +39,14 @@ public final class LineageClient { /** * Get lineage info of the entity specified by GUID. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -145,8 +131,7 @@ public final class LineageClient {
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -162,34 +147,15 @@ public Response getWithResponse(String guid, String direction, Reque /** * Return immediate next page lineage info about entity with pagination. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -274,8 +240,7 @@ public Response getWithResponse(String guid, String direction, Reque
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -306,35 +271,16 @@ public Response getNextPageWithResponse(String guid, String directio * * GET * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -419,8 +365,7 @@ public Response getNextPageWithResponse(String guid, String directio
      * }
* * @param typeName The name of the type. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java index 40d89b2ebcf4..4c35c933837d 100644 --- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java @@ -41,9 +41,7 @@ public final class RelationshipAsyncClient { /** * Create a new relationship between entities. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -71,9 +69,7 @@ public final class RelationshipAsyncClient {
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -118,9 +114,7 @@ public Mono> createWithResponse(BinaryData atlasRelationshi
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -148,9 +142,7 @@ public Mono> createWithResponse(BinaryData atlasRelationshi
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -195,28 +187,14 @@ public Mono> updateWithResponse(BinaryData atlasRelationshi
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -307,8 +285,7 @@ public Mono> updateWithResponse(BinaryData atlasRelationshi
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return relationship information between entities by its GUID along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return relationship information between entities by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java
index 71831f545a6e..c983fa50995f 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java
@@ -39,9 +39,7 @@ public final class RelationshipClient {
 
     /**
      * Create a new relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -69,9 +67,7 @@ public final class RelationshipClient {
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -116,9 +112,7 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -146,9 +140,7 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -193,28 +185,14 @@ public Response updateWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java
index bd87a5f6110d..54c296475f8e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java
@@ -52,9 +52,7 @@ public final class TypeDefinitionAsyncClient {
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -146,8 +144,7 @@ public final class TypeDefinitionAsyncClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the businessMetadata definition for the given guid along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return the businessMetadata definition for the given guid along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -157,9 +154,7 @@ public Mono> getBusinessMetadataByIdWithResponse(String gui
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -251,8 +246,7 @@ public Mono> getBusinessMetadataByIdWithResponse(String gui
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the businessMetadata definition by it's name (unique) along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return the businessMetadata definition by it's name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -263,9 +257,7 @@ public Mono> getBusinessMetadataByNameWithResponse(String n
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -366,8 +358,7 @@ public Mono> getBusinessMetadataByNameWithResponse(String n
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the classification definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the classification definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -377,9 +368,7 @@ public Mono> getClassificationByIdWithResponse(String guid,
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -480,8 +469,7 @@ public Mono> getClassificationByIdWithResponse(String guid,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the classification definition by its name (unique) along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return the classification definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -491,9 +479,7 @@ public Mono> getClassificationByNameWithResponse(String nam
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -614,8 +600,7 @@ public Mono> getClassificationByNameWithResponse(String nam
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the Entity definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the Entity definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -625,9 +610,7 @@ public Mono> getEntityByIdWithResponse(String guid, Request
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -748,8 +731,7 @@ public Mono> getEntityByIdWithResponse(String guid, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the entity definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the entity definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -759,9 +741,7 @@ public Mono> getEntityByNameWithResponse(String name, Reque
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -835,8 +815,7 @@ public Mono> getEntityByNameWithResponse(String name, Reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the enum definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the enum definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -846,9 +825,7 @@ public Mono> getEnumByIdWithResponse(String guid, RequestOp
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -922,8 +899,7 @@ public Mono> getEnumByIdWithResponse(String guid, RequestOp
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the enum definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the enum definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -933,9 +909,7 @@ public Mono> getEnumByNameWithResponse(String name, Request
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1038,8 +1012,7 @@ public Mono> getEnumByNameWithResponse(String name, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the relationship definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the relationship definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1049,9 +1022,7 @@ public Mono> getRelationshipByIdWithResponse(String guid, R
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1154,8 +1125,7 @@ public Mono> getRelationshipByIdWithResponse(String guid, R
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the relationship definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the relationship definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1165,9 +1135,7 @@ public Mono> getRelationshipByNameWithResponse(String name,
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1259,8 +1227,7 @@ public Mono> getRelationshipByNameWithResponse(String name,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the struct definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the struct definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1270,9 +1237,7 @@ public Mono> getStructByIdWithResponse(String guid, Request
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1364,8 +1329,7 @@ public Mono> getStructByIdWithResponse(String guid, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the struct definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the struct definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1375,9 +1339,7 @@ public Mono> getStructByNameWithResponse(String name, Reque
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1520,8 +1482,7 @@ public Mono> getStructByNameWithResponse(String name, Reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the type definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the type definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1531,9 +1492,7 @@ public Mono> getByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1676,8 +1635,7 @@ public Mono> getByIdWithResponse(String guid, RequestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the type definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the type definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -1704,37 +1662,17 @@ public Mono> deleteWithResponse(String name, RequestOptions reque
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2033,9 +1971,7 @@ public Mono> getWithResponse(RequestOptions requestOptions)
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2316,9 +2252,7 @@ public Mono> getWithResponse(RequestOptions requestOptions)
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2617,9 +2551,7 @@ public Mono> batchCreateWithResponse(BinaryData atlasTypesD
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2900,9 +2832,7 @@ public Mono> batchCreateWithResponse(BinaryData atlasTypesD
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3200,9 +3130,7 @@ public Mono> batchUpdateWithResponse(BinaryData atlasTypesD
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3500,37 +3428,17 @@ public Mono> batchDeleteWithResponse(BinaryData atlasTypesDef, Re
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3556,9 +3464,7 @@ public Mono> getHeadersWithResponse(RequestOptions requestO
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3650,8 +3556,7 @@ public Mono> getHeadersWithResponse(RequestOptions requestO
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the term template definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the term template definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -3661,9 +3566,7 @@ public Mono> getTermTemplateByIdWithResponse(String guid, R
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3755,8 +3658,7 @@ public Mono> getTermTemplateByIdWithResponse(String guid, R
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the term template definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the term template definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java
index b631c8fbb9b8..3f0a231b2299 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java
@@ -50,9 +50,7 @@ public final class TypeDefinitionClient {
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -154,9 +152,7 @@ public Response getBusinessMetadataByIdWithResponse(String guid, Req
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -258,9 +254,7 @@ public Response getBusinessMetadataByNameWithResponse(String name, R
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -371,9 +365,7 @@ public Response getClassificationByIdWithResponse(String guid, Reque
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -484,9 +476,7 @@ public Response getClassificationByNameWithResponse(String name, Req
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -617,9 +607,7 @@ public Response getEntityByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -750,9 +738,7 @@ public Response getEntityByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -836,9 +822,7 @@ public Response getEnumByIdWithResponse(String guid, RequestOptions
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -922,9 +906,7 @@ public Response getEnumByNameWithResponse(String name, RequestOption
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1037,9 +1019,7 @@ public Response getRelationshipByIdWithResponse(String guid, Request
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1152,9 +1132,7 @@ public Response getRelationshipByNameWithResponse(String name, Reque
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1256,9 +1234,7 @@ public Response getStructByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1360,9 +1336,7 @@ public Response getStructByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1515,9 +1489,7 @@ public Response getByIdWithResponse(String guid, RequestOptions requ
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1687,37 +1659,17 @@ public Response deleteWithResponse(String name, RequestOptions requestOpti
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2016,9 +1968,7 @@ public Response getWithResponse(RequestOptions requestOptions) {
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2299,9 +2249,7 @@ public Response getWithResponse(RequestOptions requestOptions) {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2600,9 +2548,7 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -2883,9 +2829,7 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3183,9 +3127,7 @@ public Response batchUpdateWithResponse(BinaryData atlasTypesDef, Re
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -3483,37 +3425,17 @@ public Response batchDeleteWithResponse(BinaryData atlasTypesDef, RequestO
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -3539,9 +3461,7 @@ public Response getHeadersWithResponse(RequestOptions requestOptions
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3643,9 +3563,7 @@ public Response getTermTemplateByIdWithResponse(String guid, Request
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DataMapClientImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DataMapClientImpl.java
index df4aff136716..f7e7dec13f77 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DataMapClientImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DataMapClientImpl.java
@@ -158,7 +158,7 @@ public TypeDefinitionsImpl getTypeDefinitions() {
     /**
      * Initializes an instance of DataMapClient client.
      * 
-     * @param endpoint
+     * @param endpoint 
      * @param serviceVersion Service version.
      */
     public DataMapClientImpl(String endpoint, PurviewDataMapServiceVersion serviceVersion) {
@@ -170,7 +170,7 @@ public DataMapClientImpl(String endpoint, PurviewDataMapServiceVersion serviceVe
      * Initializes an instance of DataMapClient client.
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
-     * @param endpoint
+     * @param endpoint 
      * @param serviceVersion Service version.
      */
     public DataMapClientImpl(HttpPipeline httpPipeline, String endpoint, PurviewDataMapServiceVersion serviceVersion) {
@@ -182,7 +182,7 @@ public DataMapClientImpl(HttpPipeline httpPipeline, String endpoint, PurviewData
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
      * @param serializerAdapter The serializer to serialize an object into a string.
-     * @param endpoint
+     * @param endpoint 
      * @param serviceVersion Service version.
      */
     public DataMapClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint,
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java
index 00ea54d57b82..69810ca2fa9a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java
@@ -63,8 +63,7 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientDiscoveries to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for DataMapClientDiscoveries to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientDiscove")
@@ -134,9 +133,7 @@ Response autoCompleteSync(@HostParam("endpoint") String endpoint,
 
     /**
      * Get data using search.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -164,15 +161,13 @@ Response autoCompleteSync(@HostParam("endpoint") String endpoint,
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
-     *     @search.count: Integer (Optional)
-     *     @search.count.approximate: Boolean (Optional)
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
      *     continuationToken: String (Optional)
-     *     @search.facets (Optional): {
+     *     @search.facets (Optional): {
      *         entityType (Optional): [
      *              (Optional){
      *                 count: Integer (Optional)
@@ -209,7 +204,7 @@ Response autoCompleteSync(@HostParam("endpoint") String endpoint,
      *     }
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.highlights (Optional): {
      *                 id (Optional): [
      *                     String (Optional)
@@ -289,9 +284,7 @@ public Mono> queryWithResponseAsync(BinaryData queryOptions
 
     /**
      * Get data using search.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -319,15 +312,13 @@ public Mono> queryWithResponseAsync(BinaryData queryOptions
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
-     *     @search.count: Integer (Optional)
-     *     @search.count.approximate: Boolean (Optional)
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
      *     continuationToken: String (Optional)
-     *     @search.facets (Optional): {
+     *     @search.facets (Optional): {
      *         entityType (Optional): [
      *              (Optional){
      *                 count: Integer (Optional)
@@ -364,7 +355,7 @@ public Mono> queryWithResponseAsync(BinaryData queryOptions
      *     }
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.highlights (Optional): {
      *                 id (Optional): [
      *                     String (Optional)
@@ -444,9 +435,7 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
 
     /**
      * Get search suggestions by query criteria.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -454,14 +443,12 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.text: String (Optional)
      *             objectType: String (Optional)
      *             createTime: Long (Optional)
@@ -514,8 +501,7 @@ public Response queryWithResponse(BinaryData queryOptions, RequestOp
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return search suggestions by query criteria along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return search suggestions by query criteria along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> suggestWithResponseAsync(BinaryData suggestOptions,
@@ -527,9 +513,7 @@ public Mono> suggestWithResponseAsync(BinaryData suggestOpt
 
     /**
      * Get search suggestions by query criteria.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -537,14 +521,12 @@ public Mono> suggestWithResponseAsync(BinaryData suggestOpt
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
      *          (Optional){
-     *             @search.score: Double (Optional)
+     *             @search.score: Double (Optional)
      *             @search.text: String (Optional)
      *             objectType: String (Optional)
      *             createTime: Long (Optional)
@@ -608,9 +590,7 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque
 
     /**
      * Get auto complete options.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -618,9 +598,7 @@ public Response suggestWithResponse(BinaryData suggestOptions, Reque
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
@@ -650,9 +628,7 @@ public Mono> autoCompleteWithResponseAsync(BinaryData autoC
 
     /**
      * Get auto complete options.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     keywords: String (Optional)
@@ -660,9 +636,7 @@ public Mono> autoCompleteWithResponseAsync(BinaryData autoC
      *     filter: Object (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     value (Optional): [
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java
index 689742808ebc..3f212a8abf2b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java
@@ -70,8 +70,7 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientEntities to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for DataMapClientEntities to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientEntitie")
@@ -791,36 +790,17 @@ Response moveEntitiesToCollectionSync(@HostParam("endpoint") String
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -899,9 +879,7 @@ Response moveEntitiesToCollectionSync(@HostParam("endpoint") String
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -976,8 +954,7 @@ Response moveEntitiesToCollectionSync(@HostParam("endpoint") String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> createOrUpdateWithResponseAsync(BinaryData atlasEntityWithExtInfo,
@@ -995,36 +972,17 @@ public Mono> createOrUpdateWithResponseAsync(BinaryData atl
      * collections are not well supported. E.g., array<array<int>>, array<map<string,
      * int>>.
      * For each contact type, the maximum number of contacts is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
Query Parameters
NameTypeRequiredDescription
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1103,9 +1061,7 @@ public Mono> createOrUpdateWithResponseAsync(BinaryData atl
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1192,34 +1148,15 @@ public Response createOrUpdateWithResponse(BinaryData atlasEntityWit
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1320,34 +1257,15 @@ public Mono> getByIdsWithResponseAsync(List guid, R
 
     /**
      * List entities in bulk identified by its GUIDs.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1455,36 +1373,17 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1565,9 +1464,7 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1642,8 +1539,7 @@ public Response getByIdsWithResponse(List guid, RequestOptio
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> batchCreateOrUpdateWithResponseAsync(BinaryData atlasEntitiesWithExtInfo,
@@ -1662,36 +1558,17 @@ public Mono> batchCreateOrUpdateWithResponseAsync(BinaryDat
      * array<map<string, int>>.
      * For each contact type, the maximum number of contacts
      * is 20.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you - * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating - * entities. Allowed values: "ignore", "replace", "merge".
Query Parameters
NameTypeRequiredDescription
collectionIdStringNoThe collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection.
businessAttributeUpdateBehaviorStringNoUsed to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -1772,9 +1649,7 @@ public Mono> batchCreateOrUpdateWithResponseAsync(BinaryDat
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1862,9 +1737,7 @@ public Response batchCreateOrUpdateWithResponse(BinaryData atlasEnti
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -1938,8 +1811,7 @@ public Response batchCreateOrUpdateWithResponse(BinaryData atlasEnti
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> batchDeleteWithResponseAsync(List guid, RequestOptions requestOptions) {
@@ -1952,9 +1824,7 @@ public Mono> batchDeleteWithResponseAsync(List guid
     /**
      * Delete a list of entities in bulk identified by their GUIDs or unique
      * attributes.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2039,9 +1909,7 @@ public Response batchDeleteWithResponse(List guid, RequestOp
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classification (Optional): {
@@ -2085,9 +1953,7 @@ public Mono> addClassificationWithResponseAsync(BinaryData classi
 
     /**
      * Associate a classification to multiple entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     classification (Optional): {
@@ -2131,34 +1997,15 @@ public Response addClassificationWithResponse(BinaryData classificationAss
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -2244,8 +2091,7 @@ public Response addClassificationWithResponse(BinaryData classificationAss
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return complete definition of an entity given its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return complete definition of an entity given its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -2256,34 +2102,15 @@ public Mono> getWithResponseAsync(String guid, RequestOptio
 
     /**
      * Get complete definition of an entity given its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -2383,15 +2210,11 @@ public Response getWithResponse(String guid, RequestOptions requestO
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2467,8 +2290,7 @@ public Response getWithResponse(String guid, RequestOptions requestO
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> updateAttributeByIdWithResponseAsync(String guid, String name, BinaryData body,
@@ -2484,15 +2306,11 @@ public Mono> updateAttributeByIdWithResponseAsync(String gu
      * Supports only primitive attribute type and entity references.
      * It does not support updating complex types like arrays, and maps.
      * Null updates are not possible.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * Object
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2580,9 +2398,7 @@ public Response updateAttributeByIdWithResponse(String guid, String
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2656,8 +2472,7 @@ public Response updateAttributeByIdWithResponse(String guid, String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -2668,9 +2483,7 @@ public Mono> deleteWithResponseAsync(String guid, RequestOp
 
     /**
      * Delete an entity identified by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -2754,9 +2567,7 @@ public Response deleteWithResponse(String guid, RequestOptions reque
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -2784,8 +2595,7 @@ public Response deleteWithResponse(String guid, RequestOptions reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return classification for a given entity represented by a GUID along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return classification for a given entity represented by a GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getClassificationWithResponseAsync(String guid, String classificationName,
@@ -2797,9 +2607,7 @@ public Mono> getClassificationWithResponseAsync(String guid
 
     /**
      * Get classification for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -2879,9 +2687,7 @@ public Response removeClassificationWithResponse(String guid, String class
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     list (Optional): [
@@ -2912,9 +2718,7 @@ public Mono> getClassificationsWithResponseAsync(String gui
 
     /**
      * List classifications for a given entity represented by a GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     list (Optional): [
@@ -2944,9 +2748,7 @@ public Response getClassificationsWithResponse(String guid, RequestO
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -2988,9 +2790,7 @@ public Mono> addClassificationsWithResponseAsync(String guid, Bin
 
     /**
      * Add classifications to an existing entity represented by a GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -3031,9 +2831,7 @@ public Response addClassificationsWithResponse(String guid, BinaryData bod
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -3075,9 +2873,7 @@ public Mono> updateClassificationsWithResponseAsync(String guid,
 
     /**
      * Update classifications to an existing entity represented by a guid.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -3132,41 +2928,17 @@ public Response updateClassificationsWithResponse(String guid, BinaryData
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -3265,8 +3037,7 @@ public Response updateClassificationsWithResponse(String guid, BinaryData
      * 
      * The REST request would look something like this:
      * GET
-     * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getByUniqueAttributeWithResponseAsync(String typeName,
@@ -3291,41 +3062,17 @@ public Mono> getByUniqueAttributeWithResponseAsync(String t
      * The REST request would look something like this:
      * GET
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -3450,29 +3197,15 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -3551,9 +3284,7 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3629,8 +3360,7 @@ public Response getByUniqueAttributeWithResponse(String typeName, Re
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> updateByUniqueAttributeWithResponseAsync(String typeName,
@@ -3657,29 +3387,15 @@ public Mono> updateByUniqueAttributeWithResponseAsync(Strin
      * request would look something like this:
      * PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -3758,9 +3474,7 @@ public Mono> updateByUniqueAttributeWithResponseAsync(Strin
      *     entity (Optional): (recursive schema, see entity above)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3859,29 +3573,15 @@ public Response updateByUniqueAttributeWithResponse(String typeName,
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -3955,8 +3655,7 @@ public Response updateByUniqueAttributeWithResponse(String typeName,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> deleteByUniqueAttributeWithResponseAsync(String typeName,
@@ -3979,29 +3678,15 @@ public Mono> deleteByUniqueAttributeWithResponseAsync(Strin
      * request would look something like this:
      * DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -4087,24 +3772,12 @@ public Response deleteByUniqueAttributeWithResponse(String typeName,
     /**
      * Delete a given classification from an entity identified by its type and unique
      * attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -4128,24 +3801,12 @@ public Mono> removeClassificationByUniqueAttributeWithResponseAsy /** * Delete a given classification from an entity identified by its type and unique * attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} * @@ -4168,29 +3829,15 @@ public Response removeClassificationByUniqueAttributeWithResponse(String t /** * Add classification to the entity identified by its type and unique attributes. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -4232,29 +3879,15 @@ public Mono> addClassificationsByUniqueAttributeWithResponseAsync
 
     /**
      * Add classification to the entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -4296,29 +3929,15 @@ public Response addClassificationsByUniqueAttributeWithResponse(String typ
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -4360,29 +3979,15 @@ public Mono> updateClassificationsUniqueByAttributeWithResponseAs
 
     /**
      * Update classification on an entity identified by its type and unique attributes.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -4424,9 +4029,7 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -4485,9 +4088,7 @@ public Response updateClassificationsUniqueByAttributeWithResponse(String
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *     String (Required)
@@ -4512,9 +4113,7 @@ public Mono> batchSetClassificationsWithResponseAsync(Binar
 
     /**
      * Set classifications on entities in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guidHeaderMap (Optional): {
@@ -4573,9 +4172,7 @@ public Mono> batchSetClassificationsWithResponseAsync(Binar
      *     }
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *     String (Required)
@@ -4617,42 +4214,18 @@ public Response batchSetClassificationsWithResponse(BinaryData atlas
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -4770,42 +4343,18 @@ public Mono> batchGetByUniqueAttributesWithResponseAsync(St
      * 
      * Note:
      * at least one unique attribute must be provided.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * - * + * example. qualifiedName can be changed to other unique attributes) *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set + *
Query Parameters
NameTypeRequiredDescription
minExtInfoBooleanNoWhether to return minimal information for referred entities.
ignoreRelationshipsBooleanNoWhether to ignore relationship attributes.
attr_N:qualifiedNameStringNoQualified name of an entity. E.g. to find 2 entities you can set * attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an - * example. qualifiedName can be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -4905,9 +4454,7 @@ public Response batchGetByUniqueAttributesWithResponse(String typeNa
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -4980,9 +4527,7 @@ public Mono> getHeaderWithResponseAsync(String guid, Reques
 
     /**
      * Get entity header given its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -5054,9 +4599,7 @@ public Response getHeaderWithResponse(String guid, RequestOptions re
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -5084,9 +4627,7 @@ public Mono> removeBusinessMetadataWithResponseAsync(String guid,
 
     /**
      * Remove business metadata from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -5114,29 +4655,15 @@ public Response removeBusinessMetadataWithResponse(String guid, BinaryData
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -5164,29 +4691,15 @@ public Mono> addOrUpdateBusinessMetadataWithResponseAsync(String
 
     /**
      * Add business metadata to an entity.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, - * default is false.
Query Parameters
NameTypeRequiredDescription
isOverwriteBooleanNoWhether to overwrite the existing business metadata on the entity or not, + * default is false.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String (Required): {
@@ -5214,9 +4727,7 @@ public Response addOrUpdateBusinessMetadataWithResponse(String guid, Binar
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -5243,9 +4754,7 @@ public Mono> removeBusinessMetadataAttributesWithResponseAsync(St
 
     /**
      * Delete business metadata attributes from an entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -5272,9 +4781,7 @@ public Response removeBusinessMetadataAttributesWithResponse(String busine
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -5301,9 +4808,7 @@ public Mono> addOrUpdateBusinessMetadataAttributesWithResponseAsy
 
     /**
      * Add or update business metadata attributes.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: Object (Required)
@@ -5330,9 +4835,7 @@ public Response addOrUpdateBusinessMetadataAttributesWithResponse(String b
 
     /**
      * Get the sample Template for uploading/creating bulk BusinessMetaData.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
@@ -5342,8 +4845,7 @@ public Response addOrUpdateBusinessMetadataAttributesWithResponse(String b * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return the sample Template for uploading/creating bulk BusinessMetaData along with {@link Response} on - * successful completion of {@link Mono}. + * @return the sample Template for uploading/creating bulk BusinessMetaData along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getBusinessMetadataTemplateWithResponseAsync(RequestOptions requestOptions) { @@ -5354,9 +4856,7 @@ public Mono> getBusinessMetadataTemplateWithResponseAsync(R /** * Get the sample Template for uploading/creating bulk BusinessMetaData. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * BinaryData
      * }
@@ -5376,9 +4876,7 @@ public Response getBusinessMetadataTemplateWithResponse(RequestOptio /** * Upload the file for creating Business Metadata in BULK. - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -5414,9 +4912,7 @@ public Mono> importBusinessMetadataWithResponseAsync(Binary
 
     /**
      * Upload the file for creating Business Metadata in BULK.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     failedImportInfoList (Optional): [
@@ -5452,9 +4948,7 @@ public Response importBusinessMetadataWithResponse(BinaryData busine
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5484,9 +4978,7 @@ public Mono> removeLabelsWithResponseAsync(String guid, RequestOp
 
     /**
      * Delete given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5515,9 +5007,7 @@ public Response removeLabelsWithResponse(String guid, RequestOptions reque
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5547,9 +5037,7 @@ public Mono> setLabelsWithResponseAsync(String guid, RequestOptio
 
     /**
      * Set labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5578,9 +5066,7 @@ public Response setLabelsWithResponse(String guid, RequestOptions requestO
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5610,9 +5096,7 @@ public Mono> addLabelWithResponseAsync(String guid, RequestOption
 
     /**
      * Add given labels to a given entity.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5653,29 +5137,15 @@ public Response addLabelWithResponse(String guid, RequestOptions requestOp
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5718,29 +5188,15 @@ public Mono> removeLabelsByUniqueAttributeWithResponseAsync(Strin
      * across entities, eg. qualifiedName. The REST request would look something like
      * this: DELETE
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5784,29 +5240,15 @@ public Response removeLabelsByUniqueAttributeWithResponse(String typeName,
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5851,29 +5293,15 @@ public Mono> setLabelsByUniqueAttributeWithResponseAsync(String t
      * The REST
      * request would look something like this: POST
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5917,29 +5345,15 @@ public Response setLabelsByUniqueAttributeWithResponse(String typeName, Re
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -5984,29 +5398,15 @@ public Mono> addLabelsByUniqueAttributeWithResponseAsync(String t
      * The REST
      * request would look something like this: PUT
      * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *     String (Optional)
@@ -6036,9 +5436,7 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     entityGuids (Optional): [
@@ -6046,9 +5444,7 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
@@ -6123,8 +5519,7 @@ public Response addLabelsByUniqueAttributeWithResponse(String typeName, Re
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the mutation response result of entity along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the mutation response result of entity along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> moveEntitiesToCollectionWithResponseAsync(String collectionId,
@@ -6137,9 +5532,7 @@ public Mono> moveEntitiesToCollectionWithResponseAsync(Stri
 
     /**
      * Move existing entities to the target collection.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     entityGuids (Optional): [
@@ -6147,9 +5540,7 @@ public Mono> moveEntitiesToCollectionWithResponseAsync(Stri
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guidAssignments (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java
index 3e521423eae7..194c149faf59 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java
@@ -67,8 +67,7 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientGlossaries to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for DataMapClientGlossaries to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientGlossar")
@@ -660,52 +659,23 @@ Response getTermHeadersSync(@HostParam("endpoint") String endpoint,
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'. + *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -781,52 +751,23 @@ public Mono> batchGetWithResponseAsync(RequestOptions reque
     /**
      * Get all glossaries. Recommend using limit/offset to get pagination result.
      * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories
-     * separately using
+     * separately using 
      * 
-     * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
-     * and
+     *  'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'
+     * and 
      * 
-     * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.
-     * 

- * Query Parameters - *

+ * 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'. + *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -901,9 +842,7 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -959,9 +898,7 @@ public Response batchGetWithResponse(RequestOptions requestOptions)
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1035,9 +972,7 @@ public Mono> createWithResponseAsync(BinaryData atlasGlossa
 
     /**
      * Create a glossary.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1093,9 +1028,7 @@ public Mono> createWithResponseAsync(BinaryData atlasGlossa
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1168,9 +1101,7 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1232,9 +1163,7 @@ public Response createWithResponse(BinaryData atlasGlossary, Request
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1315,9 +1244,7 @@ public Mono> createCategoriesWithResponseAsync(BinaryData b
 
     /**
      * Create glossary category in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1379,9 +1306,7 @@ public Mono> createCategoriesWithResponseAsync(BinaryData b
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1460,9 +1385,7 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1522,9 +1445,7 @@ public Response createCategoriesWithResponse(BinaryData body, Reques
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1603,9 +1524,7 @@ public Mono> createCategoryWithResponseAsync(BinaryData atl
 
     /**
      * Create a glossary category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1665,9 +1584,7 @@ public Mono> createCategoryWithResponseAsync(BinaryData atl
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1746,9 +1663,7 @@ public Response createCategoryWithResponse(BinaryData atlasGlossaryC
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1815,8 +1730,7 @@ public Response createCategoryWithResponse(BinaryData atlasGlossaryC
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return specific glossary category by its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return specific glossary category by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getCategoryWithResponseAsync(String categoryId, RequestOptions requestOptions) {
@@ -1827,9 +1741,7 @@ public Mono> getCategoryWithResponseAsync(String categoryId
 
     /**
      * Get specific glossary category by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1906,9 +1818,7 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -1968,9 +1878,7 @@ public Response getCategoryWithResponse(String categoryId, RequestOp
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2050,9 +1958,7 @@ public Mono> updateCategoryWithResponseAsync(String categor
 
     /**
      * Update the given glossary category by its GUID.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2112,9 +2018,7 @@ public Mono> updateCategoryWithResponseAsync(String categor
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2230,17 +2134,13 @@ public Response deleteCategoryWithResponse(String categoryId, RequestOptio
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2322,17 +2222,13 @@ public Mono> partialUpdateCategoryWithResponseAsync(String
     /**
      * Update the glossary category partially. So far we only supports partial
      * updating shortDescription and longDescription for category.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2414,40 +2310,16 @@ public Response partialUpdateCategoryWithResponse(String categoryId,
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -2468,8 +2340,7 @@ public Response partialUpdateCategoryWithResponse(String categoryId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all related categories (parent and children) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return all related categories (parent and children) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getRelatedCategoriesWithResponseAsync(String categoryId,
@@ -2482,40 +2353,16 @@ public Mono> getRelatedCategoriesWithResponseAsync(String c
     /**
      * Get all related categories (parent and children). Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -2547,40 +2394,16 @@ public Response getRelatedCategoriesWithResponse(String categoryId,
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -2601,8 +2424,7 @@ public Response getRelatedCategoriesWithResponse(String categoryId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all terms associated with the specific category along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return all terms associated with the specific category along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getCategoryTermsWithResponseAsync(String categoryId,
@@ -2614,40 +2436,16 @@ public Mono> getCategoryTermsWithResponseAsync(String categ
 
     /**
      * Get all terms associated with the specific category.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -2679,28 +2477,14 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -2861,9 +2645,7 @@ public Response getCategoryTermsWithResponse(String categoryId, Requ
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3043,28 +2825,14 @@ public Mono> createTermWithResponseAsync(BinaryData atlasGl
 
     /**
      * Create a glossary term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3225,9 +2993,7 @@ public Mono> createTermWithResponseAsync(BinaryData atlasGl
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3406,9 +3172,7 @@ public Response createTermWithResponse(BinaryData atlasGlossaryTerm,
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3576,8 +3340,7 @@ public Response createTermWithResponse(BinaryData atlasGlossaryTerm,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a specific glossary term by its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a specific glossary term by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTermWithResponseAsync(String termId, RequestOptions requestOptions) {
@@ -3588,9 +3351,7 @@ public Mono> getTermWithResponseAsync(String termId, Reques
 
     /**
      * Get a specific glossary term by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3769,28 +3530,14 @@ public Response getTermWithResponse(String termId, RequestOptions re
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -3951,9 +3698,7 @@ public Response getTermWithResponse(String termId, RequestOptions re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -4134,28 +3879,14 @@ public Mono> updateTermWithResponseAsync(String termId, Bin
 
     /**
      * Update the given glossary term by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -4316,9 +4047,7 @@ public Mono> updateTermWithResponseAsync(String termId, Bin
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -4535,36 +4264,20 @@ public Response deleteTermWithResponse(String termId, RequestOptions reque
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -4747,36 +4460,20 @@ public Mono> partialUpdateTermWithResponseAsync(String term
     /**
      * Update the glossary term partially. So far we only supports partial updating
      * shortDescription, longDescription, abbreviation, usage and status for term.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -4958,28 +4655,14 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -5142,9 +4825,7 @@ public Response partialUpdateTermWithResponse(String termId, BinaryD
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -5325,28 +5006,14 @@ public Mono> createTermsWithResponseAsync(BinaryData body,
 
     /**
      * Create glossary terms in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -5509,9 +5176,7 @@ public Mono> createTermsWithResponseAsync(BinaryData body,
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -5693,40 +5358,16 @@ public Response createTermsWithResponse(BinaryData body, RequestOpti
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -5770,40 +5411,16 @@ public Mono> getEntitiesAssignedWithTermWithResponseAsync(S
     /**
      * List all related objects assigned with the specified term. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -5850,9 +5467,7 @@ public Response getEntitiesAssignedWithTermWithResponse(String termI
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -5901,9 +5516,7 @@ public Mono> assignTermToEntitiesWithResponseAsync(String termId,
      * [Entities Create Or Update
      * operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP)
      * is an alternative to assign a term to multiple entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -5947,9 +5560,7 @@ public Response assignTermToEntitiesWithResponse(String termId, BinaryData
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -5993,9 +5604,7 @@ public Mono> deleteTermAssignmentFromEntitiesWithResponseAsync(St
 
     /**
      * Delete the term assignment for the given list of related objects.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -6040,40 +5649,16 @@ public Response deleteTermAssignmentFromEntitiesWithResponse(String termId
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -6096,8 +5681,7 @@ public Response deleteTermAssignmentFromEntitiesWithResponse(String termId
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return all related terms for a specific term by its GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return all related terms for a specific term by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getRelatedTermsWithResponseAsync(String termId, RequestOptions requestOptions) {
@@ -6109,40 +5693,16 @@ public Mono> getRelatedTermsWithResponseAsync(String termId
     /**
      * Get all related terms for a specific term by its GUID. Limit, offset, and sort
      * parameters are currently not being enabled and won't work even they are passed.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     String (Required): [
@@ -6176,9 +5736,7 @@ public Response getRelatedTermsWithResponse(String termId, RequestOp
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -6252,9 +5810,7 @@ public Mono> getWithResponseAsync(String glossaryId, Reques
 
     /**
      * Get a specific Glossary by its GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -6327,28 +5883,14 @@ public Response getWithResponse(String glossaryId, RequestOptions re
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -6404,9 +5946,7 @@ public Response getWithResponse(String glossaryId, RequestOptions re
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -6482,28 +6022,14 @@ public Mono> updateWithResponseAsync(String glossaryId, Bin
 
     /**
      * Update the given glossary.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -6559,9 +6085,7 @@ public Mono> updateWithResponseAsync(String glossaryId, Bin
      *     usage: String (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -6675,40 +6199,16 @@ public Response deleteWithResponse(String glossaryId, RequestOptions reque
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -6777,8 +6277,7 @@ public Response deleteWithResponse(String glossaryId, RequestOptions reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the categories belonging to a specific glossary along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the categories belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getCategoriesWithResponseAsync(String glossaryId, RequestOptions requestOptions) {
@@ -6790,40 +6289,16 @@ public Mono> getCategoriesWithResponseAsync(String glossary
     /**
      * Get the categories belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -6903,40 +6378,16 @@ public Response getCategoriesWithResponse(String glossaryId, Request
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -6955,8 +6406,7 @@ public Response getCategoriesWithResponse(String glossaryId, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the category headers belonging to a specific glossary along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return the category headers belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getCategoriesHeadersWithResponseAsync(String glossaryId,
@@ -6969,40 +6419,16 @@ public Mono> getCategoriesHeadersWithResponseAsync(String g
     /**
      * Get the category headers belonging to a specific glossary. Recommend using
      * limit/offset to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -7034,14 +6460,12 @@ public Response getCategoriesHeadersWithResponse(String glossaryId,
      * Get a specific glossary with detailed information. This API is not
      * recommend.
      * 
-     * Recommend to fetch terms/categories details separately using
+     * Recommend to fetch terms/categories details separately using 
      * 
-     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
+     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and 
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -7265,8 +6689,7 @@ public Response getCategoriesHeadersWithResponse(String glossaryId,
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return a specific glossary with detailed information along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return a specific glossary with detailed information along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getDetailedWithResponseAsync(String glossaryId, RequestOptions requestOptions) {
@@ -7279,14 +6702,12 @@ public Mono> getDetailedWithResponseAsync(String glossaryId
      * Get a specific glossary with detailed information. This API is not
      * recommend.
      * 
-     * Recommend to fetch terms/categories details separately using
+     * Recommend to fetch terms/categories details separately using 
      * 
-     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and
+     * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and 
      * 
      * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -7524,40 +6945,24 @@ public Response getDetailedWithResponse(String glossaryId, RequestOp
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -7637,40 +7042,24 @@ public Mono> partialUpdateWithResponseAsync(String glossary
      * allowed to be updated.
      * 
      * So far we only supports partial updating
-     * shortDescription, longDescription, language and usage for glossary.
+     * shortDescription, longDescription, language and usage for glossary. 
      * 
      * Recommend
      * using 'ignoreTermsAndCategories=true' to reduce response body size.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     String: String (Required)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     guid: String (Optional)
@@ -7748,40 +7137,16 @@ public Response partialUpdateWithResponse(String glossaryId, BinaryD
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -7951,8 +7316,7 @@ public Response partialUpdateWithResponse(String glossaryId, BinaryD
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return terms belonging to a specific glossary along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return terms belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTermsWithResponseAsync(String glossaryId, RequestOptions requestOptions) {
@@ -7964,40 +7328,16 @@ public Mono> getTermsWithResponseAsync(String glossaryId, R
     /**
      * Get terms belonging to a specific glossary. Recommend using limit/offset to get
      * pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -8179,40 +7519,16 @@ public Response getTermsWithResponse(String glossaryId, RequestOptio
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -8233,8 +7549,7 @@ public Response getTermsWithResponse(String glossaryId, RequestOptio
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return term headers belonging to a specific glossary along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return term headers belonging to a specific glossary along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTermHeadersWithResponseAsync(String glossaryId,
@@ -8247,40 +7562,16 @@ public Mono> getTermHeadersWithResponseAsync(String glossar
     /**
      * Get term headers belonging to a specific glossary. Recommend using limit/offset
      * to get pagination result.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
Query Parameters
NameTypeRequiredDescription
limitIntegerNoThe page size - by default there is no paging.
offsetIntegerNoThe offset for pagination purpose.
sortStringNoThe sort order, ASC (default) or DESC.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java
index 09e26a26702a..8332bb563d87 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java
@@ -62,8 +62,7 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientLineages to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for DataMapClientLineages to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientLineage")
@@ -133,28 +132,14 @@ Response getByUniqueAttributeSync(@HostParam("endpoint") String endp
 
     /**
      * Get lineage info of the entity specified by GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -239,15 +224,13 @@ Response getByUniqueAttributeSync(@HostParam("endpoint") String endp
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return lineage info of the entity specified by GUID along with {@link Response} on successful completion of - * {@link Mono}. + * @return lineage info of the entity specified by GUID along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getWithResponseAsync(String guid, String direction, @@ -259,28 +242,14 @@ public Mono> getWithResponseAsync(String guid, String direc /** * Get lineage info of the entity specified by GUID. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -365,8 +334,7 @@ public Mono> getWithResponseAsync(String guid, String direc
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -382,34 +350,15 @@ public Response getWithResponse(String guid, String direction, Reque /** * Return immediate next page lineage info about entity with pagination. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -494,8 +443,7 @@ public Response getWithResponse(String guid, String direction, Reque
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -513,34 +461,15 @@ public Mono> getNextPageWithResponseAsync(String guid, Stri /** * Return immediate next page lineage info about entity with pagination. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
Query Parameters
NameTypeRequiredDescription
offsetIntegerNoThe offset for pagination purpose.
limitIntegerNoThe page size - by default there is no paging.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -625,8 +554,7 @@ public Mono> getNextPageWithResponseAsync(String guid, Stri
      * }
* * @param guid The globally unique identifier of the entity. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -658,35 +586,16 @@ public Response getNextPageWithResponse(String guid, String directio * * GET * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -771,8 +680,7 @@ public Response getNextPageWithResponse(String guid, String directio
      * }
* * @param typeName The name of the type. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. @@ -805,35 +713,16 @@ public Mono> getByUniqueAttributeWithResponseAsync(String t * * GET * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can - * be changed to other unique attributes)
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
attr:qualifiedNameStringNoThe qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes)
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     baseEntityGuid: String (Optional)
@@ -918,8 +807,7 @@ public Mono> getByUniqueAttributeWithResponseAsync(String t
      * }
* * @param typeName The name of the type. - * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", - * "OUTPUT", "BOTH". + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "INPUT", "OUTPUT", "BOTH". * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java index 10776798e84c..4bd32c2536bf 100644 --- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java @@ -8,6 +8,7 @@ import com.azure.core.http.rest.RequestOptions; import com.azure.core.util.BinaryData; import com.azure.core.util.CoreUtils; + import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.SequenceInputStream; diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java index cda6259b1030..6d4e17c206d0 100644 --- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java @@ -66,8 +66,7 @@ public PurviewDataMapServiceVersion getServiceVersion() { } /** - * The interface defining all the services for DataMapClientRelationships to be used by the proxy service to - * perform REST calls. + * The interface defining all the services for DataMapClientRelationships to be used by the proxy service to perform REST calls. */ @Host("{endpoint}/datamap/api") @ServiceInterface(name = "DataMapClientRelatio") @@ -151,9 +150,7 @@ Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("gu /** * Create a new relationship between entities. - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -181,9 +178,7 @@ Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("gu
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -230,9 +225,7 @@ public Mono> createWithResponseAsync(BinaryData atlasRelati
 
     /**
      * Create a new relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -260,9 +253,7 @@ public Mono> createWithResponseAsync(BinaryData atlasRelati
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -307,9 +298,7 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -337,9 +326,7 @@ public Response createWithResponse(BinaryData atlasRelationship, Req
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -386,9 +373,7 @@ public Mono> updateWithResponseAsync(BinaryData atlasRelati
 
     /**
      * Update an existing relationship between entities.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -416,9 +401,7 @@ public Mono> updateWithResponseAsync(BinaryData atlasRelati
      *     version: Long (Optional)
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     attributes (Optional): {
@@ -463,28 +446,14 @@ public Response updateWithResponse(BinaryData atlasRelationship, Req
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
@@ -575,8 +544,7 @@ public Response updateWithResponse(BinaryData atlasRelationship, Req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return relationship information between entities by its GUID along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return relationship information between entities by its GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -587,28 +555,14 @@ public Mono> getWithResponseAsync(String guid, RequestOptio
 
     /**
      * Get relationship information between entities by its GUID.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     referredEntities (Optional): {
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java
index 136c6bce594c..a1f80aabf670 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java
@@ -67,8 +67,7 @@ public PurviewDataMapServiceVersion getServiceVersion() {
     }
 
     /**
-     * The interface defining all the services for DataMapClientTypeDefinitions to be used by the proxy service to
-     * perform REST calls.
+     * The interface defining all the services for DataMapClientTypeDefinitions to be used by the proxy service to perform REST calls.
      */
     @Host("{endpoint}/datamap/api")
     @ServiceInterface(name = "DataMapClientTypeDef")
@@ -498,9 +497,7 @@ Response getTermTemplateByNameSync(@HostParam("endpoint") String end
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -592,8 +589,7 @@ Response getTermTemplateByNameSync(@HostParam("endpoint") String end
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the businessMetadata definition for the given guid along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return the businessMetadata definition for the given guid along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getBusinessMetadataByIdWithResponseAsync(String guid,
@@ -605,9 +601,7 @@ public Mono> getBusinessMetadataByIdWithResponseAsync(Strin
 
     /**
      * Get the businessMetadata definition for the given guid.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -710,9 +704,7 @@ public Response getBusinessMetadataByIdWithResponse(String guid, Req
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -804,8 +796,7 @@ public Response getBusinessMetadataByIdWithResponse(String guid, Req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the businessMetadata definition by it's name (unique) along with {@link Response} on successful
-     * completion of {@link Mono}.
+     * @return the businessMetadata definition by it's name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getBusinessMetadataByNameWithResponseAsync(String name,
@@ -817,9 +808,7 @@ public Mono> getBusinessMetadataByNameWithResponseAsync(Str
 
     /**
      * Get the businessMetadata definition by it's name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -922,9 +911,7 @@ public Response getBusinessMetadataByNameWithResponse(String name, R
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1025,8 +1012,7 @@ public Response getBusinessMetadataByNameWithResponse(String name, R
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the classification definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the classification definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getClassificationByIdWithResponseAsync(String guid,
@@ -1038,9 +1024,7 @@ public Mono> getClassificationByIdWithResponseAsync(String
 
     /**
      * Get the classification definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1151,9 +1135,7 @@ public Response getClassificationByIdWithResponse(String guid, Reque
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1254,8 +1236,7 @@ public Response getClassificationByIdWithResponse(String guid, Reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the classification definition by its name (unique) along with {@link Response} on successful completion
-     * of {@link Mono}.
+     * @return the classification definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getClassificationByNameWithResponseAsync(String name,
@@ -1267,9 +1248,7 @@ public Mono> getClassificationByNameWithResponseAsync(Strin
 
     /**
      * Get the classification definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1381,9 +1360,7 @@ public Response getClassificationByNameWithResponse(String name, Req
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1504,8 +1481,7 @@ public Response getClassificationByNameWithResponse(String name, Req
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the Entity definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the Entity definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getEntityByIdWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -1516,9 +1492,7 @@ public Mono> getEntityByIdWithResponseAsync(String guid, Re
 
     /**
      * Get the Entity definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1649,9 +1623,7 @@ public Response getEntityByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1772,8 +1744,7 @@ public Response getEntityByIdWithResponse(String guid, RequestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the entity definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the entity definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getEntityByNameWithResponseAsync(String name, RequestOptions requestOptions) {
@@ -1784,9 +1755,7 @@ public Mono> getEntityByNameWithResponseAsync(String name,
 
     /**
      * Get the entity definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1917,9 +1886,7 @@ public Response getEntityByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -1993,8 +1960,7 @@ public Response getEntityByNameWithResponse(String name, RequestOpti
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the enum definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the enum definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getEnumByIdWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -2005,9 +1971,7 @@ public Mono> getEnumByIdWithResponseAsync(String guid, Requ
 
     /**
      * Get the enum definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2091,9 +2055,7 @@ public Response getEnumByIdWithResponse(String guid, RequestOptions
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2167,8 +2129,7 @@ public Response getEnumByIdWithResponse(String guid, RequestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the enum definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the enum definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getEnumByNameWithResponseAsync(String name, RequestOptions requestOptions) {
@@ -2179,9 +2140,7 @@ public Mono> getEnumByNameWithResponseAsync(String name, Re
 
     /**
      * Get the enum definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2265,9 +2224,7 @@ public Response getEnumByNameWithResponse(String name, RequestOption
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2370,8 +2327,7 @@ public Response getEnumByNameWithResponse(String name, RequestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the relationship definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the relationship definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getRelationshipByIdWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -2382,9 +2338,7 @@ public Mono> getRelationshipByIdWithResponseAsync(String gu
 
     /**
      * Get the relationship definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2497,9 +2451,7 @@ public Response getRelationshipByIdWithResponse(String guid, Request
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2602,8 +2554,7 @@ public Response getRelationshipByIdWithResponse(String guid, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the relationship definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the relationship definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getRelationshipByNameWithResponseAsync(String name,
@@ -2615,9 +2566,7 @@ public Mono> getRelationshipByNameWithResponseAsync(String
 
     /**
      * Get the relationship definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2730,9 +2679,7 @@ public Response getRelationshipByNameWithResponse(String name, Reque
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2824,8 +2771,7 @@ public Response getRelationshipByNameWithResponse(String name, Reque
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the struct definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the struct definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getStructByIdWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -2836,9 +2782,7 @@ public Mono> getStructByIdWithResponseAsync(String guid, Re
 
     /**
      * Get the struct definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -2940,9 +2884,7 @@ public Response getStructByIdWithResponse(String guid, RequestOption
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3034,8 +2976,7 @@ public Response getStructByIdWithResponse(String guid, RequestOption
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the struct definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the struct definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getStructByNameWithResponseAsync(String name, RequestOptions requestOptions) {
@@ -3046,9 +2987,7 @@ public Mono> getStructByNameWithResponseAsync(String name,
 
     /**
      * Get the struct definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3150,9 +3089,7 @@ public Response getStructByNameWithResponse(String name, RequestOpti
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3295,8 +3232,7 @@ public Response getStructByNameWithResponse(String name, RequestOpti
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the type definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the type definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getByIdWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -3307,9 +3243,7 @@ public Mono> getByIdWithResponseAsync(String guid, RequestO
 
     /**
      * Get the type definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3462,9 +3396,7 @@ public Response getByIdWithResponse(String guid, RequestOptions requ
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3607,8 +3539,7 @@ public Response getByIdWithResponse(String guid, RequestOptions requ
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the type definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the type definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getByNameWithResponseAsync(String name, RequestOptions requestOptions) {
@@ -3619,9 +3550,7 @@ public Mono> getByNameWithResponseAsync(String name, Reques
 
     /**
      * Get the type definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -3809,37 +3738,17 @@ public Response deleteWithResponse(String name, RequestOptions requestOpti
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -4137,37 +4046,17 @@ public Mono> getWithResponseAsync(RequestOptions requestOpt
 
     /**
      * List all type definitions in bulk.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -4467,9 +4356,7 @@ public Response getWithResponse(RequestOptions requestOptions) {
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -4750,9 +4637,7 @@ public Response getWithResponse(RequestOptions requestOptions) {
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5054,9 +4939,7 @@ public Mono> batchCreateWithResponseAsync(BinaryData atlasT
      * Create all atlas type definitions in bulk, only new definitions will be
      * created.
      * Any changes to the existing definitions will be discarded.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5337,9 +5220,7 @@ public Mono> batchCreateWithResponseAsync(BinaryData atlasT
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5638,9 +5519,7 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -5921,9 +5800,7 @@ public Response batchCreateWithResponse(BinaryData atlasTypesDef, Re
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -6224,9 +6101,7 @@ public Mono> batchUpdateWithResponseAsync(BinaryData atlasT
     /**
      * Update all types in bulk, changes detected in the type definitions would be
      * persisted.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -6507,9 +6382,7 @@ public Mono> batchUpdateWithResponseAsync(BinaryData atlasT
      *     ]
      * }
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -6807,9 +6680,7 @@ public Response batchUpdateWithResponse(BinaryData atlasTypesDef, Re
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -7108,9 +6979,7 @@ public Mono> batchDeleteWithResponseAsync(BinaryData atlasTypesDe
 
     /**
      * Delete API for all types in bulk.
-     * 

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * {
      *     businessMetadataDefs (Optional): [
@@ -7408,37 +7277,17 @@ public Response batchDeleteWithResponse(BinaryData atlasTypesDef, RequestO
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -7465,37 +7314,17 @@ public Mono> getHeadersWithResponseAsync(RequestOptions req
 
     /**
      * List all type definitions returned as a list of minimal information header.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * + * when search filter type=term_template + * *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. + *
Query Parameters
NameTypeRequiredDescription
includeTermTemplateBooleanNoWhether include termtemplatedef when return all typedefs. * This is always true - * when search filter type=term_template
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", - * "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
typeStringNoTypedef name as search filter when get typedefs. Allowed values: "PRIMITIVE", "OBJECT_ID_TYPE", "ENUM", "STRUCT", "CLASSIFICATION", "ENTITY", "ARRAY", "MAP", "RELATIONSHIP", "TERM_TEMPLATE".
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -7522,9 +7351,7 @@ public Response getHeadersWithResponse(RequestOptions requestOptions
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -7616,8 +7443,7 @@ public Response getHeadersWithResponse(RequestOptions requestOptions
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the term template definition for the given GUID along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the term template definition for the given GUID along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTermTemplateByIdWithResponseAsync(String guid, RequestOptions requestOptions) {
@@ -7628,9 +7454,7 @@ public Mono> getTermTemplateByIdWithResponseAsync(String gu
 
     /**
      * Get the term template definition for the given GUID.
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -7733,9 +7557,7 @@ public Response getTermTemplateByIdWithResponse(String guid, Request
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
@@ -7827,8 +7649,7 @@ public Response getTermTemplateByIdWithResponse(String guid, Request
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the term template definition by its name (unique) along with {@link Response} on successful completion of
-     * {@link Mono}.
+     * @return the term template definition by its name (unique) along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getTermTemplateByNameWithResponseAsync(String name,
@@ -7840,9 +7661,7 @@ public Mono> getTermTemplateByNameWithResponseAsync(String
 
     /**
      * Get the term template definition by its name (unique).
-     * 

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java
index 31930f51a3cf..e5e7fe6dae20 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,96 +18,83 @@
  * class that captures details of a struct-attribute.
  */
 @Fluent
-public final class AtlasAttributeDef {
+public final class AtlasAttributeDef implements JsonSerializable {
     /*
      * single-valued attribute or multi-valued attribute.
      */
     @Generated
-    @JsonProperty(value = "cardinality")
     private CardinalityValue cardinality;
 
     /*
      * An array of constraints.
      */
     @Generated
-    @JsonProperty(value = "constraints")
     private List constraints;
 
     /*
      * The default value of the attribute.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * The description of the attribute.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Determines if it is included in notification.
      */
     @Generated
-    @JsonProperty(value = "includeInNotification")
     private Boolean includeInNotification;
 
     /*
      * Determines if it is indexable.
      */
     @Generated
-    @JsonProperty(value = "isIndexable")
     private Boolean isIndexable;
 
     /*
      * Determines if it is optional.
      */
     @Generated
-    @JsonProperty(value = "isOptional")
     private Boolean isOptional;
 
     /*
      * Determines if it unique.
      */
     @Generated
-    @JsonProperty(value = "isUnique")
     private Boolean isUnique;
 
     /*
      * The name of the attribute.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the attribute.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The maximum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMaxCount")
     private Integer valuesMaxCount;
 
     /*
      * The minimum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMinCount")
     private Integer valuesMinCount;
 
     /**
@@ -398,4 +389,80 @@ public AtlasAttributeDef setValuesMinCount(Integer valuesMinCount) {
         this.valuesMinCount = valuesMinCount;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("cardinality", this.cardinality == null ? null : this.cardinality.toString());
+        jsonWriter.writeArrayField("constraints", this.constraints, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeBooleanField("includeInNotification", this.includeInNotification);
+        jsonWriter.writeBooleanField("isIndexable", this.isIndexable);
+        jsonWriter.writeBooleanField("isOptional", this.isOptional);
+        jsonWriter.writeBooleanField("isUnique", this.isUnique);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeNumberField("valuesMaxCount", this.valuesMaxCount);
+        jsonWriter.writeNumberField("valuesMinCount", this.valuesMinCount);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasAttributeDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasAttributeDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasAttributeDef.
+     */
+    @Generated
+    public static AtlasAttributeDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasAttributeDef deserializedAtlasAttributeDef = new AtlasAttributeDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("cardinality".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.cardinality = CardinalityValue.fromString(reader.getString());
+                } else if ("constraints".equals(fieldName)) {
+                    List constraints
+                        = reader.readArray(reader1 -> AtlasConstraintDef.fromJson(reader1));
+                    deserializedAtlasAttributeDef.constraints = constraints;
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.defaultValue = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.description = reader.getString();
+                } else if ("includeInNotification".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.includeInNotification = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isIndexable".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.isIndexable = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isOptional".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.isOptional = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isUnique".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.isUnique = reader.getNullable(JsonReader::getBoolean);
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasAttributeDef.options = options;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.typeName = reader.getString();
+                } else if ("valuesMaxCount".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.valuesMaxCount = reader.getNullable(JsonReader::getInt);
+                } else if ("valuesMinCount".equals(fieldName)) {
+                    deserializedAtlasAttributeDef.valuesMinCount = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasAttributeDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java
index fa0f719354b2..9f8acd1fcb01 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * class that captures details of a struct-type.
  */
 @Fluent
-public final class AtlasBusinessMetadataDef {
+public final class AtlasBusinessMetadataDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -456,4 +445,86 @@ public AtlasBusinessMetadataDef setAttributeDefs(List attribu
         this.attributeDefs = attributeDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasBusinessMetadataDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasBusinessMetadataDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasBusinessMetadataDef.
+     */
+    @Generated
+    public static AtlasBusinessMetadataDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasBusinessMetadataDef deserializedAtlasBusinessMetadataDef = new AtlasBusinessMetadataDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasBusinessMetadataDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasBusinessMetadataDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasBusinessMetadataDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasBusinessMetadataDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java
index 20fb948e7eed..5999ef327de3 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,33 +19,29 @@
  * exists only when associated with an entity.
  */
 @Fluent
-public final class AtlasClassification {
+public final class AtlasClassification implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The GUID of the entity.
      */
     @Generated
-    @JsonProperty(value = "entityGuid")
     private String entityGuid;
 
     /*
@@ -49,21 +49,18 @@ public final class AtlasClassification {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "entityStatus")
     private EntityStatus entityStatus;
 
     /*
      * Determines if propagations will be removed on entity deletion.
      */
     @Generated
-    @JsonProperty(value = "removePropagationsOnEntityDelete")
     private Boolean removePropagationsOnEntityDelete;
 
     /*
      * An array of time boundaries indicating validity periods.
      */
     @Generated
-    @JsonProperty(value = "validityPeriods")
     private List validityPeriods;
 
     /**
@@ -186,8 +183,7 @@ public AtlasClassification setEntityStatus(EntityStatus entityStatus) {
     }
 
     /**
-     * Get the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity
-     * deletion.
+     * Get the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity deletion.
      * 
      * @return the removePropagationsOnEntityDelete value.
      */
@@ -197,8 +193,7 @@ public Boolean isRemovePropagationsOnEntityDelete() {
     }
 
     /**
-     * Set the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity
-     * deletion.
+     * Set the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity deletion.
      * 
      * @param removePropagationsOnEntityDelete the removePropagationsOnEntityDelete value to set.
      * @return the AtlasClassification object itself.
@@ -230,4 +225,63 @@ public AtlasClassification setValidityPeriods(List validityPeriods
         this.validityPeriods = validityPeriods;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeStringField("entityGuid", this.entityGuid);
+        jsonWriter.writeStringField("entityStatus", this.entityStatus == null ? null : this.entityStatus.toString());
+        jsonWriter.writeBooleanField("removePropagationsOnEntityDelete", this.removePropagationsOnEntityDelete);
+        jsonWriter.writeArrayField("validityPeriods", this.validityPeriods,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasClassification from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasClassification if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasClassification.
+     */
+    @Generated
+    public static AtlasClassification fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasClassification deserializedAtlasClassification = new AtlasClassification();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasClassification.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasClassification.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasClassification.lastModifiedTS = reader.getString();
+                } else if ("entityGuid".equals(fieldName)) {
+                    deserializedAtlasClassification.entityGuid = reader.getString();
+                } else if ("entityStatus".equals(fieldName)) {
+                    deserializedAtlasClassification.entityStatus = EntityStatus.fromString(reader.getString());
+                } else if ("removePropagationsOnEntityDelete".equals(fieldName)) {
+                    deserializedAtlasClassification.removePropagationsOnEntityDelete
+                        = reader.getNullable(JsonReader::getBoolean);
+                } else if ("validityPeriods".equals(fieldName)) {
+                    List validityPeriods = reader.readArray(reader1 -> TimeBoundary.fromJson(reader1));
+                    deserializedAtlasClassification.validityPeriods = validityPeriods;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasClassification;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java
index d06734eae882..074df1ff51bc 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * class that captures details of a classification-type.
  */
 @Fluent
-public final class AtlasClassificationDef {
+public final class AtlasClassificationDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /*
@@ -145,21 +134,18 @@ public final class AtlasClassificationDef {
      * 
      */
     @Generated
-    @JsonProperty(value = "entityTypes")
     private List entityTypes;
 
     /*
      * An array of sub types.
      */
     @Generated
-    @JsonProperty(value = "subTypes")
     private List subTypes;
 
     /*
      * An array of super types.
      */
     @Generated
-    @JsonProperty(value = "superTypes")
     private List superTypes;
 
     /**
@@ -604,4 +590,98 @@ public AtlasClassificationDef setSuperTypes(List superTypes) {
         this.superTypes = superTypes;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("entityTypes", this.entityTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("subTypes", this.subTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("superTypes", this.superTypes, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasClassificationDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasClassificationDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasClassificationDef.
+     */
+    @Generated
+    public static AtlasClassificationDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasClassificationDef deserializedAtlasClassificationDef = new AtlasClassificationDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasClassificationDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasClassificationDef.attributeDefs = attributeDefs;
+                } else if ("entityTypes".equals(fieldName)) {
+                    List entityTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.entityTypes = entityTypes;
+                } else if ("subTypes".equals(fieldName)) {
+                    List subTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.subTypes = subTypes;
+                } else if ("superTypes".equals(fieldName)) {
+                    List superTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasClassificationDef.superTypes = superTypes;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasClassificationDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java
index 6e7c5dcd33d2..4c709ca76471 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java
@@ -6,54 +6,52 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * REST serialization friendly list.
  */
 @Immutable
-public final class AtlasClassifications {
+public final class AtlasClassifications implements JsonSerializable {
     /*
      * An array of objects.
      */
     @Generated
-    @JsonProperty(value = "list")
     private List list;
 
     /*
      * The size of the page.
      */
     @Generated
-    @JsonProperty(value = "pageSize")
     private Integer pageSize;
 
     /*
      * The sorted by field.
      */
     @Generated
-    @JsonProperty(value = "sortBy")
     private String sortBy;
 
     /*
      * to specify whether the result should be sorted? If yes, whether asc or desc.
      */
     @Generated
-    @JsonProperty(value = "sortType")
     private SortType sortType;
 
     /*
      * The start index of the page.
      */
     @Generated
-    @JsonProperty(value = "startIndex")
     private Integer startIndex;
 
     /*
      * The total count of items.
      */
     @Generated
-    @JsonProperty(value = "totalCount")
     private Integer totalCount;
 
     /**
@@ -122,4 +120,57 @@ public Integer getStartIndex() {
     public Integer getTotalCount() {
         return this.totalCount;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("list", this.list, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeNumberField("pageSize", this.pageSize);
+        jsonWriter.writeStringField("sortBy", this.sortBy);
+        jsonWriter.writeStringField("sortType", this.sortType == null ? null : this.sortType.toString());
+        jsonWriter.writeNumberField("startIndex", this.startIndex);
+        jsonWriter.writeNumberField("totalCount", this.totalCount);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasClassifications from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasClassifications if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasClassifications.
+     */
+    @Generated
+    public static AtlasClassifications fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasClassifications deserializedAtlasClassifications = new AtlasClassifications();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("list".equals(fieldName)) {
+                    List list = reader.readArray(reader1 -> reader1.readUntyped());
+                    deserializedAtlasClassifications.list = list;
+                } else if ("pageSize".equals(fieldName)) {
+                    deserializedAtlasClassifications.pageSize = reader.getNullable(JsonReader::getInt);
+                } else if ("sortBy".equals(fieldName)) {
+                    deserializedAtlasClassifications.sortBy = reader.getString();
+                } else if ("sortType".equals(fieldName)) {
+                    deserializedAtlasClassifications.sortType = SortType.fromString(reader.getString());
+                } else if ("startIndex".equals(fieldName)) {
+                    deserializedAtlasClassifications.startIndex = reader.getNullable(JsonReader::getInt);
+                } else if ("totalCount".equals(fieldName)) {
+                    deserializedAtlasClassifications.totalCount = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasClassifications;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java
index b3691dcbe324..96751596329c 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * class that captures details of a constraint.
  */
 @Fluent
-public final class AtlasConstraintDef {
+public final class AtlasConstraintDef implements JsonSerializable {
     /*
      * The parameters of the constraint definition.
      */
     @Generated
-    @JsonProperty(value = "params")
     private Map params;
 
     /*
      * The type of the constraint.
      */
     @Generated
-    @JsonProperty(value = "type")
     private String type;
 
     /**
@@ -78,4 +80,45 @@ public AtlasConstraintDef setType(String type) {
         this.type = type;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("params", this.params, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasConstraintDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasConstraintDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasConstraintDef.
+     */
+    @Generated
+    public static AtlasConstraintDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasConstraintDef deserializedAtlasConstraintDef = new AtlasConstraintDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("params".equals(fieldName)) {
+                    Map params = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasConstraintDef.params = params;
+                } else if ("type".equals(fieldName)) {
+                    deserializedAtlasConstraintDef.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasConstraintDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java
index e34fdc23f7e9..44e28dd418b6 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -15,19 +19,17 @@
  * hive_database.
  */
 @Fluent
-public final class AtlasEntitiesWithExtInfo {
+public final class AtlasEntitiesWithExtInfo implements JsonSerializable {
     /*
      * The referred entities.
      */
     @Generated
-    @JsonProperty(value = "referredEntities")
     private Map referredEntities;
 
     /*
      * An array of entities.
      */
     @Generated
-    @JsonProperty(value = "entities")
     private List entities;
 
     /**
@@ -80,4 +82,48 @@ public AtlasEntitiesWithExtInfo setEntities(List entities) {
         this.entities = entities;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("referredEntities", this.referredEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("entities", this.entities, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntitiesWithExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntitiesWithExtInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntitiesWithExtInfo.
+     */
+    @Generated
+    public static AtlasEntitiesWithExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntitiesWithExtInfo deserializedAtlasEntitiesWithExtInfo = new AtlasEntitiesWithExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("referredEntities".equals(fieldName)) {
+                    Map referredEntities
+                        = reader.readMap(reader1 -> AtlasEntity.fromJson(reader1));
+                    deserializedAtlasEntitiesWithExtInfo.referredEntities = referredEntities;
+                } else if ("entities".equals(fieldName)) {
+                    List entities = reader.readArray(reader1 -> AtlasEntity.fromJson(reader1));
+                    deserializedAtlasEntitiesWithExtInfo.entities = entities;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntitiesWithExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java
index d58d745d5a4a..f293b88b704e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,124 +18,107 @@
  * An instance of an entity - like hive_table, hive_database.
  */
 @Fluent
-public final class AtlasEntity {
+public final class AtlasEntity implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * Business attributes
      */
     @Generated
-    @JsonProperty(value = "businessAttributes")
     private Map businessAttributes;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * Custom Attribute
      */
     @Generated
-    @JsonProperty(value = "customAttributes")
     private Map customAttributes;
 
     /*
      * The GUID of the entity.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The home ID of the entity.
      */
     @Generated
-    @JsonProperty(value = "homeId")
     private String homeId;
 
     /*
      * The collection ID of the entity.
      */
     @Generated
-    @JsonProperty(value = "collectionId", access = JsonProperty.Access.WRITE_ONLY)
     private String collectionId;
 
     /*
      * Whether it is a shell entity
      */
     @Generated
-    @JsonProperty(value = "isIncomplete")
     private Boolean isIncomplete;
 
     /*
      * labels
      */
     @Generated
-    @JsonProperty(value = "labels")
     private List labels;
 
     /*
      * An array of term assignment headers indicating the meanings of the entity.
      */
     @Generated
-    @JsonProperty(value = "meanings")
     private List meanings;
 
     /*
      * Used to record the provenance of an instance of an entity or relationship.
      */
     @Generated
-    @JsonProperty(value = "provenanceType")
     private Integer provenanceType;
 
     /*
      * Determines if there's a proxy.
      */
     @Generated
-    @JsonProperty(value = "proxy")
     private Boolean proxy;
 
     /*
      * The attributes of relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributes")
     private Map relationshipAttributes;
 
     /*
@@ -139,35 +126,30 @@ public final class AtlasEntity {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "status")
     private EntityStatus status;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the entity.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * The dictionary of contacts for entities. Key could be Expert or Owner.
      */
     @Generated
-    @JsonProperty(value = "contacts")
     private Map> contacts;
 
     /**
@@ -650,4 +632,119 @@ public AtlasEntity setContacts(Map> contacts) {
         this.contacts = contacts;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeMapField("businessAttributes", this.businessAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeMapField("customAttributes", this.customAttributes,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("homeId", this.homeId);
+        jsonWriter.writeBooleanField("isIncomplete", this.isIncomplete);
+        jsonWriter.writeArrayField("labels", this.labels, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("meanings", this.meanings, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeNumberField("provenanceType", this.provenanceType);
+        jsonWriter.writeBooleanField("proxy", this.proxy);
+        jsonWriter.writeMapField("relationshipAttributes", this.relationshipAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeMapField("contacts", this.contacts,
+            (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeJson(element1)));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntity from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntity if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntity.
+     */
+    @Generated
+    public static AtlasEntity fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntity deserializedAtlasEntity = new AtlasEntity();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntity.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasEntity.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEntity.lastModifiedTS = reader.getString();
+                } else if ("businessAttributes".equals(fieldName)) {
+                    Map businessAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntity.businessAttributes = businessAttributes;
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasEntity.classifications = classifications;
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasEntity.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasEntity.createdBy = reader.getString();
+                } else if ("customAttributes".equals(fieldName)) {
+                    Map customAttributes = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasEntity.customAttributes = customAttributes;
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEntity.guid = reader.getString();
+                } else if ("homeId".equals(fieldName)) {
+                    deserializedAtlasEntity.homeId = reader.getString();
+                } else if ("collectionId".equals(fieldName)) {
+                    deserializedAtlasEntity.collectionId = reader.getString();
+                } else if ("isIncomplete".equals(fieldName)) {
+                    deserializedAtlasEntity.isIncomplete = reader.getNullable(JsonReader::getBoolean);
+                } else if ("labels".equals(fieldName)) {
+                    List labels = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntity.labels = labels;
+                } else if ("meanings".equals(fieldName)) {
+                    List meanings
+                        = reader.readArray(reader1 -> AtlasTermAssignmentHeader.fromJson(reader1));
+                    deserializedAtlasEntity.meanings = meanings;
+                } else if ("provenanceType".equals(fieldName)) {
+                    deserializedAtlasEntity.provenanceType = reader.getNullable(JsonReader::getInt);
+                } else if ("proxy".equals(fieldName)) {
+                    deserializedAtlasEntity.proxy = reader.getNullable(JsonReader::getBoolean);
+                } else if ("relationshipAttributes".equals(fieldName)) {
+                    Map relationshipAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntity.relationshipAttributes = relationshipAttributes;
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasEntity.status = EntityStatus.fromString(reader.getString());
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasEntity.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasEntity.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasEntity.version = reader.getNullable(JsonReader::getLong);
+                } else if ("contacts".equals(fieldName)) {
+                    Map> contacts
+                        = reader.readMap(reader1 -> reader1.readArray(reader2 -> ContactInfo.fromJson(reader2)));
+                    deserializedAtlasEntity.contacts = contacts;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntity;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java
index 1a026e1395fd..529620622c14 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,131 +18,113 @@
  * class that captures details of a entity-type.
  */
 @Fluent
-public final class AtlasEntityDef {
+public final class AtlasEntityDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /*
      * An array of sub types.
      */
     @Generated
-    @JsonProperty(value = "subTypes")
     private List subTypes;
 
     /*
      * An array of super types.
      */
     @Generated
-    @JsonProperty(value = "superTypes")
     private List superTypes;
 
     /*
      * An array of relationship attributes.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributeDefs")
     private List relationshipAttributeDefs;
 
     /**
@@ -543,4 +529,100 @@ public AtlasEntityDef setRelationshipAttributeDefs(List writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("subTypes", this.subTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("superTypes", this.superTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("relationshipAttributeDefs", this.relationshipAttributeDefs,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityDef.
+     */
+    @Generated
+    public static AtlasEntityDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityDef deserializedAtlasEntityDef = new AtlasEntityDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasEntityDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasEntityDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasEntityDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasEntityDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasEntityDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEntityDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasEntityDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasEntityDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasEntityDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasEntityDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasEntityDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasEntityDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasEntityDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEntityDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasEntityDef.attributeDefs = attributeDefs;
+                } else if ("subTypes".equals(fieldName)) {
+                    List subTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityDef.subTypes = subTypes;
+                } else if ("superTypes".equals(fieldName)) {
+                    List superTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityDef.superTypes = superTypes;
+                } else if ("relationshipAttributeDefs".equals(fieldName)) {
+                    List relationshipAttributeDefs
+                        = reader.readArray(reader1 -> AtlasRelationshipAttributeDef.fromJson(reader1));
+                    deserializedAtlasEntityDef.relationshipAttributeDefs = relationshipAttributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java
index 86dc71f9271e..5fef78d0d145 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,82 +18,71 @@
  * An instance of an entity - like hive_table, hive_database.
  */
 @Fluent
-public final class AtlasEntityHeader {
+public final class AtlasEntityHeader implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of classification names.
      */
     @Generated
-    @JsonProperty(value = "classificationNames")
     private List classificationNames;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the record.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * Whether it is a shell entity
      */
     @Generated
-    @JsonProperty(value = "isIncomplete")
     private Boolean isIncomplete;
 
     /*
      * labels
      */
     @Generated
-    @JsonProperty(value = "labels")
     private List labels;
 
     /*
      * An array of meanings.
      */
     @Generated
-    @JsonProperty(value = "meaningNames")
     private List meaningNames;
 
     /*
      * An array of term assignment headers.
      */
     @Generated
-    @JsonProperty(value = "meanings")
     private List meanings;
 
     /*
@@ -97,7 +90,6 @@ public final class AtlasEntityHeader {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "status")
     private EntityStatus status;
 
     /**
@@ -372,4 +364,84 @@ public AtlasEntityHeader setStatus(EntityStatus status) {
         this.status = status;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("classificationNames", this.classificationNames,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeBooleanField("isIncomplete", this.isIncomplete);
+        jsonWriter.writeArrayField("labels", this.labels, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("meaningNames", this.meaningNames, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("meanings", this.meanings, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityHeader.
+     */
+    @Generated
+    public static AtlasEntityHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityHeader deserializedAtlasEntityHeader = new AtlasEntityHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasEntityHeader.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.lastModifiedTS = reader.getString();
+                } else if ("classificationNames".equals(fieldName)) {
+                    List classificationNames = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityHeader.classificationNames = classificationNames;
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasEntityHeader.classifications = classifications;
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.displayText = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.guid = reader.getString();
+                } else if ("isIncomplete".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.isIncomplete = reader.getNullable(JsonReader::getBoolean);
+                } else if ("labels".equals(fieldName)) {
+                    List labels = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityHeader.labels = labels;
+                } else if ("meaningNames".equals(fieldName)) {
+                    List meaningNames = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasEntityHeader.meaningNames = meaningNames;
+                } else if ("meanings".equals(fieldName)) {
+                    List meanings
+                        = reader.readArray(reader1 -> AtlasTermAssignmentHeader.fromJson(reader1));
+                    deserializedAtlasEntityHeader.meanings = meanings;
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasEntityHeader.status = EntityStatus.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java
index 53654501cb48..3ceafe83bc41 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * An instance of an entity header map.
  */
 @Fluent
-public final class AtlasEntityHeaders {
+public final class AtlasEntityHeaders implements JsonSerializable {
     /*
      * The description of the guid header map,
      */
     @Generated
-    @JsonProperty(value = "guidHeaderMap")
     private Map guidHeaderMap;
 
     /**
@@ -49,4 +52,43 @@ public AtlasEntityHeaders setGuidHeaderMap(Map guidHe
         this.guidHeaderMap = guidHeaderMap;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("guidHeaderMap", this.guidHeaderMap, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityHeaders from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityHeaders if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityHeaders.
+     */
+    @Generated
+    public static AtlasEntityHeaders fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityHeaders deserializedAtlasEntityHeaders = new AtlasEntityHeaders();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guidHeaderMap".equals(fieldName)) {
+                    Map guidHeaderMap
+                        = reader.readMap(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedAtlasEntityHeaders.guidHeaderMap = guidHeaderMap;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityHeaders;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java
index f4c0ae6b99b5..5e82a369d5b6 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -14,19 +18,17 @@
  * hive_database.
  */
 @Fluent
-public final class AtlasEntityWithExtInfo {
+public final class AtlasEntityWithExtInfo implements JsonSerializable {
     /*
      * The referred entities.
      */
     @Generated
-    @JsonProperty(value = "referredEntities")
     private Map referredEntities;
 
     /*
      * An instance of an entity - like hive_table, hive_database.
      */
     @Generated
-    @JsonProperty(value = "entity")
     private AtlasEntity entity;
 
     /**
@@ -79,4 +81,47 @@ public AtlasEntityWithExtInfo setEntity(AtlasEntity entity) {
         this.entity = entity;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("referredEntities", this.referredEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("entity", this.entity);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEntityWithExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEntityWithExtInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEntityWithExtInfo.
+     */
+    @Generated
+    public static AtlasEntityWithExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEntityWithExtInfo deserializedAtlasEntityWithExtInfo = new AtlasEntityWithExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("referredEntities".equals(fieldName)) {
+                    Map referredEntities
+                        = reader.readMap(reader1 -> AtlasEntity.fromJson(reader1));
+                    deserializedAtlasEntityWithExtInfo.referredEntities = referredEntities;
+                } else if ("entity".equals(fieldName)) {
+                    deserializedAtlasEntityWithExtInfo.entity = AtlasEntity.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEntityWithExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java
index fd72c80348b2..b2e040565b6b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,117 +18,101 @@
  * class that captures details of an enum-type.
  */
 @Fluent
-public final class AtlasEnumDef {
+public final class AtlasEnumDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The default value.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * An array of enum element definitions.
      */
     @Generated
-    @JsonProperty(value = "elementDefs")
     private List elementDefs;
 
     /**
@@ -485,4 +473,89 @@ public AtlasEnumDef setElementDefs(List elementDefs) {
         this.elementDefs = elementDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeArrayField("elementDefs", this.elementDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEnumDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEnumDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEnumDef.
+     */
+    @Generated
+    public static AtlasEnumDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEnumDef deserializedAtlasEnumDef = new AtlasEnumDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasEnumDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasEnumDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasEnumDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasEnumDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasEnumDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasEnumDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasEnumDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasEnumDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasEnumDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasEnumDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasEnumDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasEnumDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasEnumDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasEnumDef.lastModifiedTS = reader.getString();
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasEnumDef.defaultValue = reader.getString();
+                } else if ("elementDefs".equals(fieldName)) {
+                    List elementDefs
+                        = reader.readArray(reader1 -> AtlasEnumElementDef.fromJson(reader1));
+                    deserializedAtlasEnumDef.elementDefs = elementDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEnumDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java
index 99543f7e3294..644a9bf38977 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * class that captures details of an enum-element.
  */
 @Fluent
-public final class AtlasEnumElementDef {
+public final class AtlasEnumElementDef implements JsonSerializable {
     /*
      * The description of the enum element definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The ordinal of the enum element definition.
      */
     @Generated
-    @JsonProperty(value = "ordinal")
     private Integer ordinal;
 
     /*
      * The value of the enum element definition.
      */
     @Generated
-    @JsonProperty(value = "value")
     private String value;
 
     /**
@@ -106,4 +107,47 @@ public AtlasEnumElementDef setValue(String value) {
         this.value = value;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeNumberField("ordinal", this.ordinal);
+        jsonWriter.writeStringField("value", this.value);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasEnumElementDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasEnumElementDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasEnumElementDef.
+     */
+    @Generated
+    public static AtlasEnumElementDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasEnumElementDef deserializedAtlasEnumElementDef = new AtlasEnumElementDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("description".equals(fieldName)) {
+                    deserializedAtlasEnumElementDef.description = reader.getString();
+                } else if ("ordinal".equals(fieldName)) {
+                    deserializedAtlasEnumElementDef.ordinal = reader.getNullable(JsonReader::getInt);
+                } else if ("value".equals(fieldName)) {
+                    deserializedAtlasEnumElementDef.value = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasEnumElementDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java
index 09813d2031b1..db6d09fa242e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java
@@ -6,117 +6,106 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The glossary object.
  */
 @Fluent
-public final class AtlasGlossary {
+public final class AtlasGlossary implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * An array of categories.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * The language of the glossary.
      */
     @Generated
-    @JsonProperty(value = "language")
     private String language;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "terms")
     private List terms;
 
     /*
      * The usage of the glossary.
      */
     @Generated
-    @JsonProperty(value = "usage")
     private String usage;
 
     /**
@@ -455,4 +444,90 @@ public AtlasGlossary setUsage(String usage) {
         this.usage = usage;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeArrayField("categories", this.categories, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("language", this.language);
+        jsonWriter.writeArrayField("terms", this.terms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("usage", this.usage);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossary from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossary if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossary.
+     */
+    @Generated
+    public static AtlasGlossary fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossary deserializedAtlasGlossary = new AtlasGlossary();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossary.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossary.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossary.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossary.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossary.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossary.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossary.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossary.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossary.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossary.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossary.updatedBy = reader.getString();
+                } else if ("categories".equals(fieldName)) {
+                    List categories
+                        = reader.readArray(reader1 -> AtlasRelatedCategoryHeader.fromJson(reader1));
+                    deserializedAtlasGlossary.categories = categories;
+                } else if ("language".equals(fieldName)) {
+                    deserializedAtlasGlossary.language = reader.getString();
+                } else if ("terms".equals(fieldName)) {
+                    List terms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossary.terms = terms;
+                } else if ("usage".equals(fieldName)) {
+                    deserializedAtlasGlossary.usage = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossary;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java
index 459b150ca115..03ed9f22bb80 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java
@@ -6,117 +6,106 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The glossary category.
  */
 @Fluent
-public final class AtlasGlossaryCategory {
+public final class AtlasGlossaryCategory implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The glossary header with basic information.
      */
     @Generated
-    @JsonProperty(value = "anchor")
     private AtlasGlossaryHeader anchor;
 
     /*
      * An array of children categories.
      */
     @Generated
-    @JsonProperty(value = "childrenCategories")
     private List childrenCategories;
 
     /*
      * The header of the related category.
      */
     @Generated
-    @JsonProperty(value = "parentCategory")
     private AtlasRelatedCategoryHeader parentCategory;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "terms")
     private List terms;
 
     /**
@@ -455,4 +444,91 @@ public AtlasGlossaryCategory setTerms(List terms) {
         this.terms = terms;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeJsonField("anchor", this.anchor);
+        jsonWriter.writeArrayField("childrenCategories", this.childrenCategories,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("parentCategory", this.parentCategory);
+        jsonWriter.writeArrayField("terms", this.terms, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryCategory from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryCategory if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryCategory.
+     */
+    @Generated
+    public static AtlasGlossaryCategory fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryCategory deserializedAtlasGlossaryCategory = new AtlasGlossaryCategory();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossaryCategory.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.updatedBy = reader.getString();
+                } else if ("anchor".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.anchor = AtlasGlossaryHeader.fromJson(reader);
+                } else if ("childrenCategories".equals(fieldName)) {
+                    List childrenCategories
+                        = reader.readArray(reader1 -> AtlasRelatedCategoryHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryCategory.childrenCategories = childrenCategories;
+                } else if ("parentCategory".equals(fieldName)) {
+                    deserializedAtlasGlossaryCategory.parentCategory = AtlasRelatedCategoryHeader.fromJson(reader);
+                } else if ("terms".equals(fieldName)) {
+                    List terms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryCategory.terms = terms;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryCategory;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java
index 394ad9d56b5d..746092cf7738 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,124 +18,107 @@
  * The extended information of glossary.
  */
 @Immutable
-public final class AtlasGlossaryExtInfo {
+public final class AtlasGlossaryExtInfo implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * An array of categories.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * The language of the glossary.
      */
     @Generated
-    @JsonProperty(value = "language")
     private String language;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "terms")
     private List terms;
 
     /*
      * The usage of the glossary.
      */
     @Generated
-    @JsonProperty(value = "usage")
     private String usage;
 
     /*
      * The glossary category information.
      */
     @Generated
-    @JsonProperty(value = "categoryInfo")
     private Map categoryInfo;
 
     /*
      * The glossary term information.
      */
     @Generated
-    @JsonProperty(value = "termInfo")
     private Map termInfo;
 
     /**
@@ -310,4 +297,100 @@ public Map getCategoryInfo() {
     public Map getTermInfo() {
         return this.termInfo;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeArrayField("categories", this.categories, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("language", this.language);
+        jsonWriter.writeArrayField("terms", this.terms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("usage", this.usage);
+        jsonWriter.writeMapField("categoryInfo", this.categoryInfo, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("termInfo", this.termInfo, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryExtInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryExtInfo.
+     */
+    @Generated
+    public static AtlasGlossaryExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryExtInfo deserializedAtlasGlossaryExtInfo = new AtlasGlossaryExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.updatedBy = reader.getString();
+                } else if ("categories".equals(fieldName)) {
+                    List categories
+                        = reader.readArray(reader1 -> AtlasRelatedCategoryHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.categories = categories;
+                } else if ("language".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.language = reader.getString();
+                } else if ("terms".equals(fieldName)) {
+                    List terms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.terms = terms;
+                } else if ("usage".equals(fieldName)) {
+                    deserializedAtlasGlossaryExtInfo.usage = reader.getString();
+                } else if ("categoryInfo".equals(fieldName)) {
+                    Map categoryInfo
+                        = reader.readMap(reader1 -> AtlasGlossaryCategory.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.categoryInfo = categoryInfo;
+                } else if ("termInfo".equals(fieldName)) {
+                    Map termInfo
+                        = reader.readMap(reader1 -> AtlasGlossaryTerm.fromJson(reader1));
+                    deserializedAtlasGlossaryExtInfo.termInfo = termInfo;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java
index 2e534c3aa4f8..6eaa3d97de53 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The glossary header with basic information.
  */
 @Fluent
-public final class AtlasGlossaryHeader {
+public final class AtlasGlossaryHeader implements JsonSerializable {
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the glossary.
      */
     @Generated
-    @JsonProperty(value = "glossaryGuid")
     private String glossaryGuid;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /**
@@ -106,4 +107,47 @@ public AtlasGlossaryHeader setRelationGuid(String relationGuid) {
         this.relationGuid = relationGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("glossaryGuid", this.glossaryGuid);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryHeader.
+     */
+    @Generated
+    public static AtlasGlossaryHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryHeader deserializedAtlasGlossaryHeader = new AtlasGlossaryHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("displayText".equals(fieldName)) {
+                    deserializedAtlasGlossaryHeader.displayText = reader.getString();
+                } else if ("glossaryGuid".equals(fieldName)) {
+                    deserializedAtlasGlossaryHeader.glossaryGuid = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasGlossaryHeader.relationGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java
index 1439f25338e8..017656a64c16 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,145 +18,125 @@
  * The glossary term.
  */
 @Fluent
-public final class AtlasGlossaryTerm {
+public final class AtlasGlossaryTerm implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * An array of classifications.
      */
     @Generated
-    @JsonProperty(value = "classifications")
     private List classifications;
 
     /*
      * The long version description.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /*
      * The name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the glossary object.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The short version of description.
      */
     @Generated
-    @JsonProperty(value = "shortDescription")
     private String shortDescription;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The abbreviation of the term.
      */
     @Generated
-    @JsonProperty(value = "abbreviation")
     private String abbreviation;
 
     /*
      * The name of the template.
      */
     @Generated
-    @JsonProperty(value = "templateName")
     private List templateName;
 
     /*
      * The glossary header with basic information.
      */
     @Generated
-    @JsonProperty(value = "anchor")
     private AtlasGlossaryHeader anchor;
 
     /*
      * An array of related term headers as antonyms.
      */
     @Generated
-    @JsonProperty(value = "antonyms")
     private List antonyms;
 
     /*
      * Status of the AtlasGlossaryTerm
      */
     @Generated
-    @JsonProperty(value = "status")
     private TermStatus status;
 
     /*
      * The nick name of the term.
      */
     @Generated
-    @JsonProperty(value = "nickName")
     private String nickName;
 
     /*
      * The hierarchy information of the term.
      */
     @Generated
-    @JsonProperty(value = "hierarchyInfo")
     private List hierarchyInfo;
 
     /*
      * An array of resource link for term
      */
     @Generated
-    @JsonProperty(value = "resources")
     private List resources;
 
     /*
      * The dictionary of contacts for terms. Key could be Expert or Steward.
      */
     @Generated
-    @JsonProperty(value = "contacts")
     private Map> contacts;
 
     /*
@@ -161,119 +145,102 @@ public final class AtlasGlossaryTerm {
      * key of the first layer map is term template name.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map> attributes;
 
     /*
      * An array of related object IDs.
      */
     @Generated
-    @JsonProperty(value = "assignedEntities")
     private List assignedEntities;
 
     /*
      * An array of term categorization headers.
      */
     @Generated
-    @JsonProperty(value = "categories")
     private List categories;
 
     /*
      * An array of related term headers.
      */
     @Generated
-    @JsonProperty(value = "classifies")
     private List classifies;
 
     /*
      * An array of examples.
      */
     @Generated
-    @JsonProperty(value = "examples")
     private List examples;
 
     /*
      * An array of related term headers indicating the is-a relationship.
      */
     @Generated
-    @JsonProperty(value = "isA")
     private List isA;
 
     /*
      * An array of preferred related term headers.
      */
     @Generated
-    @JsonProperty(value = "preferredTerms")
     private List preferredTerms;
 
     /*
      * An array of related term headers that are preferred to.
      */
     @Generated
-    @JsonProperty(value = "preferredToTerms")
     private List preferredToTerms;
 
     /*
      * An array of related term headers that are replaced by.
      */
     @Generated
-    @JsonProperty(value = "replacedBy")
     private List replacedBy;
 
     /*
      * An array of related term headers for replacement.
      */
     @Generated
-    @JsonProperty(value = "replacementTerms")
     private List replacementTerms;
 
     /*
      * An array of related term headers for see also.
      */
     @Generated
-    @JsonProperty(value = "seeAlso")
     private List seeAlso;
 
     /*
      * An array of related term headers as synonyms.
      */
     @Generated
-    @JsonProperty(value = "synonyms")
     private List synonyms;
 
     /*
      * An array of translated related term headers.
      */
     @Generated
-    @JsonProperty(value = "translatedTerms")
     private List translatedTerms;
 
     /*
      * An array of related term headers for translation.
      */
     @Generated
-    @JsonProperty(value = "translationTerms")
     private List translationTerms;
 
     /*
      * The usage of the term.
      */
     @Generated
-    @JsonProperty(value = "usage")
     private String usage;
 
     /*
      * An array of related term headers as valid values.
      */
     @Generated
-    @JsonProperty(value = "validValues")
     private List validValues;
 
     /*
      * An array of related term headers as valid values for other records.
      */
     @Generated
-    @JsonProperty(value = "validValuesFor")
     private List validValuesFor;
 
     /**
@@ -724,8 +691,7 @@ public AtlasGlossaryTerm setContacts(Map> contacts) {
     }
 
     /**
-     * Get the attributes property: The custom attributes of the term, which is
-     * map<string,map<string,object>>.
+     * Get the attributes property: The custom attributes of the term, which is map<string,map<string,object>>.
      * The
      * key of the first layer map is term template name.
      * 
@@ -737,8 +703,7 @@ public Map> getAttributes() {
     }
 
     /**
-     * Set the attributes property: The custom attributes of the term, which is
-     * map<string,map<string,object>>.
+     * Set the attributes property: The custom attributes of the term, which is map<string,map<string,object>>.
      * The
      * key of the first layer map is term template name.
      * 
@@ -1102,4 +1067,201 @@ public AtlasGlossaryTerm setValidValuesFor(List validVal
         this.validValuesFor = validValuesFor;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeArrayField("classifications", this.classifications,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("shortDescription", this.shortDescription);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeStringField("abbreviation", this.abbreviation);
+        jsonWriter.writeArrayField("templateName", this.templateName,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeJsonField("anchor", this.anchor);
+        jsonWriter.writeArrayField("antonyms", this.antonyms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("nickName", this.nickName);
+        jsonWriter.writeArrayField("hierarchyInfo", this.hierarchyInfo, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("resources", this.resources, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("contacts", this.contacts,
+            (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeJson(element1)));
+        jsonWriter.writeMapField("attributes", this.attributes,
+            (writer, element) -> writer.writeMap(element, (writer1, element1) -> writer1.writeUntyped(element1)));
+        jsonWriter.writeArrayField("assignedEntities", this.assignedEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("categories", this.categories, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("classifies", this.classifies, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("examples", this.examples, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("isA", this.isA, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("preferredTerms", this.preferredTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("preferredToTerms", this.preferredToTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("replacedBy", this.replacedBy, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("replacementTerms", this.replacementTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("seeAlso", this.seeAlso, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("synonyms", this.synonyms, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("translatedTerms", this.translatedTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("translationTerms", this.translationTerms,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("usage", this.usage);
+        jsonWriter.writeArrayField("validValues", this.validValues, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("validValuesFor", this.validValuesFor,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasGlossaryTerm from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasGlossaryTerm if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasGlossaryTerm.
+     */
+    @Generated
+    public static AtlasGlossaryTerm fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasGlossaryTerm deserializedAtlasGlossaryTerm = new AtlasGlossaryTerm();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.guid = reader.getString();
+                } else if ("classifications".equals(fieldName)) {
+                    List classifications
+                        = reader.readArray(reader1 -> AtlasClassification.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.classifications = classifications;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.longDescription = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.qualifiedName = reader.getString();
+                } else if ("shortDescription".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.shortDescription = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.createdBy = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.updatedBy = reader.getString();
+                } else if ("abbreviation".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.abbreviation = reader.getString();
+                } else if ("templateName".equals(fieldName)) {
+                    List templateName = reader.readArray(reader1 -> reader1.readUntyped());
+                    deserializedAtlasGlossaryTerm.templateName = templateName;
+                } else if ("anchor".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.anchor = AtlasGlossaryHeader.fromJson(reader);
+                } else if ("antonyms".equals(fieldName)) {
+                    List antonyms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.antonyms = antonyms;
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.status = TermStatus.fromString(reader.getString());
+                } else if ("nickName".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.nickName = reader.getString();
+                } else if ("hierarchyInfo".equals(fieldName)) {
+                    List hierarchyInfo
+                        = reader.readArray(reader1 -> PurviewObjectId.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.hierarchyInfo = hierarchyInfo;
+                } else if ("resources".equals(fieldName)) {
+                    List resources = reader.readArray(reader1 -> ResourceLink.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.resources = resources;
+                } else if ("contacts".equals(fieldName)) {
+                    Map> contacts
+                        = reader.readMap(reader1 -> reader1.readArray(reader2 -> ContactInfo.fromJson(reader2)));
+                    deserializedAtlasGlossaryTerm.contacts = contacts;
+                } else if ("attributes".equals(fieldName)) {
+                    Map> attributes
+                        = reader.readMap(reader1 -> reader1.readMap(reader2 -> reader2.readUntyped()));
+                    deserializedAtlasGlossaryTerm.attributes = attributes;
+                } else if ("assignedEntities".equals(fieldName)) {
+                    List assignedEntities
+                        = reader.readArray(reader1 -> AtlasRelatedObjectId.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.assignedEntities = assignedEntities;
+                } else if ("categories".equals(fieldName)) {
+                    List categories
+                        = reader.readArray(reader1 -> AtlasTermCategorizationHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.categories = categories;
+                } else if ("classifies".equals(fieldName)) {
+                    List classifies
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.classifies = classifies;
+                } else if ("examples".equals(fieldName)) {
+                    List examples = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasGlossaryTerm.examples = examples;
+                } else if ("isA".equals(fieldName)) {
+                    List isA
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.isA = isA;
+                } else if ("preferredTerms".equals(fieldName)) {
+                    List preferredTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.preferredTerms = preferredTerms;
+                } else if ("preferredToTerms".equals(fieldName)) {
+                    List preferredToTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.preferredToTerms = preferredToTerms;
+                } else if ("replacedBy".equals(fieldName)) {
+                    List replacedBy
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.replacedBy = replacedBy;
+                } else if ("replacementTerms".equals(fieldName)) {
+                    List replacementTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.replacementTerms = replacementTerms;
+                } else if ("seeAlso".equals(fieldName)) {
+                    List seeAlso
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.seeAlso = seeAlso;
+                } else if ("synonyms".equals(fieldName)) {
+                    List synonyms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.synonyms = synonyms;
+                } else if ("translatedTerms".equals(fieldName)) {
+                    List translatedTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.translatedTerms = translatedTerms;
+                } else if ("translationTerms".equals(fieldName)) {
+                    List translationTerms
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.translationTerms = translationTerms;
+                } else if ("usage".equals(fieldName)) {
+                    deserializedAtlasGlossaryTerm.usage = reader.getString();
+                } else if ("validValues".equals(fieldName)) {
+                    List validValues
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.validValues = validValues;
+                } else if ("validValuesFor".equals(fieldName)) {
+                    List validValuesFor
+                        = reader.readArray(reader1 -> AtlasRelatedTermHeader.fromJson(reader1));
+                    deserializedAtlasGlossaryTerm.validValuesFor = validValuesFor;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasGlossaryTerm;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java
index f33fc44b70b2..92fe0cc2646e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,68 +18,59 @@
  * The lineage information.
  */
 @Immutable
-public final class AtlasLineageInfo {
+public final class AtlasLineageInfo implements JsonSerializable {
     /*
      * The GUID of the base entity.
      */
     @Generated
-    @JsonProperty(value = "baseEntityGuid")
     private String baseEntityGuid;
 
     /*
      * The GUID entity map.
      */
     @Generated
-    @JsonProperty(value = "guidEntityMap")
     private Map guidEntityMap;
 
     /*
      * The entity count in specific direction.
      */
     @Generated
-    @JsonProperty(value = "widthCounts")
     private Map> widthCounts;
 
     /*
      * The depth of lineage.
      */
     @Generated
-    @JsonProperty(value = "lineageDepth")
     private Integer lineageDepth;
 
     /*
      * The width of lineage.
      */
     @Generated
-    @JsonProperty(value = "lineageWidth")
     private Integer lineageWidth;
 
     /*
      * The number of children node.
      */
     @Generated
-    @JsonProperty(value = "childrenCount")
     private Integer childrenCount;
 
     /*
      * The enum of lineage direction.
      */
     @Generated
-    @JsonProperty(value = "lineageDirection")
     private LineageDirection lineageDirection;
 
     /*
      * An array of parentRelations relations.
      */
     @Generated
-    @JsonProperty(value = "parentRelations")
     private List parentRelations;
 
     /*
      * An array of lineage relations.
      */
     @Generated
-    @JsonProperty(value = "relations")
     private List relations;
 
     /**
@@ -174,4 +169,75 @@ public List getParentRelations() {
     public List getRelations() {
         return this.relations;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("baseEntityGuid", this.baseEntityGuid);
+        jsonWriter.writeMapField("guidEntityMap", this.guidEntityMap, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("widthCounts", this.widthCounts,
+            (writer, element) -> writer.writeMap(element, (writer1, element1) -> writer1.writeUntyped(element1)));
+        jsonWriter.writeNumberField("lineageDepth", this.lineageDepth);
+        jsonWriter.writeNumberField("lineageWidth", this.lineageWidth);
+        jsonWriter.writeNumberField("childrenCount", this.childrenCount);
+        jsonWriter.writeStringField("lineageDirection",
+            this.lineageDirection == null ? null : this.lineageDirection.toString());
+        jsonWriter.writeArrayField("parentRelations", this.parentRelations,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("relations", this.relations, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasLineageInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasLineageInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasLineageInfo.
+     */
+    @Generated
+    public static AtlasLineageInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasLineageInfo deserializedAtlasLineageInfo = new AtlasLineageInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("baseEntityGuid".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.baseEntityGuid = reader.getString();
+                } else if ("guidEntityMap".equals(fieldName)) {
+                    Map guidEntityMap
+                        = reader.readMap(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedAtlasLineageInfo.guidEntityMap = guidEntityMap;
+                } else if ("widthCounts".equals(fieldName)) {
+                    Map> widthCounts
+                        = reader.readMap(reader1 -> reader1.readMap(reader2 -> reader2.readUntyped()));
+                    deserializedAtlasLineageInfo.widthCounts = widthCounts;
+                } else if ("lineageDepth".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.lineageDepth = reader.getNullable(JsonReader::getInt);
+                } else if ("lineageWidth".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.lineageWidth = reader.getNullable(JsonReader::getInt);
+                } else if ("childrenCount".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.childrenCount = reader.getNullable(JsonReader::getInt);
+                } else if ("lineageDirection".equals(fieldName)) {
+                    deserializedAtlasLineageInfo.lineageDirection = LineageDirection.fromString(reader.getString());
+                } else if ("parentRelations".equals(fieldName)) {
+                    List parentRelations
+                        = reader.readArray(reader1 -> ParentRelation.fromJson(reader1));
+                    deserializedAtlasLineageInfo.parentRelations = parentRelations;
+                } else if ("relations".equals(fieldName)) {
+                    List relations = reader.readArray(reader1 -> LineageRelation.fromJson(reader1));
+                    deserializedAtlasLineageInfo.relations = relations;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasLineageInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java
index 117ada8ea012..997a98576fc6 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java
@@ -6,33 +6,34 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Reference to an object-instance of a type - like entity.
  */
 @Fluent
-public final class AtlasObjectId {
+public final class AtlasObjectId implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The unique attributes of the object.
      */
     @Generated
-    @JsonProperty(value = "uniqueAttributes")
     private Map uniqueAttributes;
 
     /**
@@ -107,4 +108,49 @@ public AtlasObjectId setUniqueAttributes(Map uniqueAttributes) {
         this.uniqueAttributes = uniqueAttributes;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeMapField("uniqueAttributes", this.uniqueAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasObjectId from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasObjectId if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasObjectId.
+     */
+    @Generated
+    public static AtlasObjectId fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasObjectId deserializedAtlasObjectId = new AtlasObjectId();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasObjectId.guid = reader.getString();
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasObjectId.typeName = reader.getString();
+                } else if ("uniqueAttributes".equals(fieldName)) {
+                    Map uniqueAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasObjectId.uniqueAttributes = uniqueAttributes;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasObjectId;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java
index fc86521ecb00..547e1125b54b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java
@@ -6,46 +6,45 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The header of the related category.
  */
 @Fluent
-public final class AtlasRelatedCategoryHeader {
+public final class AtlasRelatedCategoryHeader implements JsonSerializable {
     /*
      * The GUID of the category.
      */
     @Generated
-    @JsonProperty(value = "categoryGuid")
     private String categoryGuid;
 
     /*
      * The description of the category header.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the parent category.
      */
     @Generated
-    @JsonProperty(value = "parentCategoryGuid")
     private String parentCategoryGuid;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /**
@@ -164,4 +163,53 @@ public AtlasRelatedCategoryHeader setRelationGuid(String relationGuid) {
         this.relationGuid = relationGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("categoryGuid", this.categoryGuid);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("parentCategoryGuid", this.parentCategoryGuid);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelatedCategoryHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelatedCategoryHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelatedCategoryHeader.
+     */
+    @Generated
+    public static AtlasRelatedCategoryHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelatedCategoryHeader deserializedAtlasRelatedCategoryHeader = new AtlasRelatedCategoryHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("categoryGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.categoryGuid = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.displayText = reader.getString();
+                } else if ("parentCategoryGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.parentCategoryGuid = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedCategoryHeader.relationGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelatedCategoryHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java
index e0e7e09268d2..8c629d0ffff0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -14,33 +18,29 @@
  * attribute values.
  */
 @Fluent
-public final class AtlasRelatedObjectId {
+public final class AtlasRelatedObjectId implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The unique attributes of the object.
      */
     @Generated
-    @JsonProperty(value = "uniqueAttributes")
     private Map uniqueAttributes;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
@@ -48,14 +48,12 @@ public final class AtlasRelatedObjectId {
      * removed.
      */
     @Generated
-    @JsonProperty(value = "entityStatus")
     private EntityStatus entityStatus;
 
     /*
      * Relationship type
      */
     @Generated
-    @JsonProperty(value = "relationshipType")
     private String relationshipType;
 
     /*
@@ -63,21 +61,18 @@ public final class AtlasRelatedObjectId {
      * AtlasEntity, AtlasClassification.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributes")
     private AtlasStruct relationshipAttributes;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipGuid")
     private String relationshipGuid;
 
     /*
      * The enum of relationship status.
      */
     @Generated
-    @JsonProperty(value = "relationshipStatus")
     private StatusAtlasRelationship relationshipStatus;
 
     /**
@@ -222,8 +217,7 @@ public AtlasRelatedObjectId setRelationshipType(String relationshipType) {
     }
 
     /**
-     * Get the relationshipAttributes property: Captures details of struct contents. Not instantiated directly, used
-     * only via
+     * Get the relationshipAttributes property: Captures details of struct contents. Not instantiated directly, used only via
      * AtlasEntity, AtlasClassification.
      * 
      * @return the relationshipAttributes value.
@@ -234,8 +228,7 @@ public AtlasStruct getRelationshipAttributes() {
     }
 
     /**
-     * Set the relationshipAttributes property: Captures details of struct contents. Not instantiated directly, used
-     * only via
+     * Set the relationshipAttributes property: Captures details of struct contents. Not instantiated directly, used only via
      * AtlasEntity, AtlasClassification.
      * 
      * @param relationshipAttributes the relationshipAttributes value to set.
@@ -290,4 +283,69 @@ public AtlasRelatedObjectId setRelationshipStatus(StatusAtlasRelationship relati
         this.relationshipStatus = relationshipStatus;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeMapField("uniqueAttributes", this.uniqueAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("entityStatus", this.entityStatus == null ? null : this.entityStatus.toString());
+        jsonWriter.writeStringField("relationshipType", this.relationshipType);
+        jsonWriter.writeJsonField("relationshipAttributes", this.relationshipAttributes);
+        jsonWriter.writeStringField("relationshipGuid", this.relationshipGuid);
+        jsonWriter.writeStringField("relationshipStatus",
+            this.relationshipStatus == null ? null : this.relationshipStatus.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelatedObjectId from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelatedObjectId if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelatedObjectId.
+     */
+    @Generated
+    public static AtlasRelatedObjectId fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelatedObjectId deserializedAtlasRelatedObjectId = new AtlasRelatedObjectId();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.guid = reader.getString();
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.typeName = reader.getString();
+                } else if ("uniqueAttributes".equals(fieldName)) {
+                    Map uniqueAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasRelatedObjectId.uniqueAttributes = uniqueAttributes;
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.displayText = reader.getString();
+                } else if ("entityStatus".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.entityStatus = EntityStatus.fromString(reader.getString());
+                } else if ("relationshipType".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipType = reader.getString();
+                } else if ("relationshipAttributes".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipAttributes = AtlasStruct.fromJson(reader);
+                } else if ("relationshipGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipGuid = reader.getString();
+                } else if ("relationshipStatus".equals(fieldName)) {
+                    deserializedAtlasRelatedObjectId.relationshipStatus
+                        = StatusAtlasRelationship.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelatedObjectId;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java
index 9712c4e31cb3..3da8b888b39f 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java
@@ -6,60 +6,57 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The header of the related term.
  */
 @Fluent
-public final class AtlasRelatedTermHeader {
+public final class AtlasRelatedTermHeader implements JsonSerializable {
     /*
      * The description of the related term.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The expression of the term.
      */
     @Generated
-    @JsonProperty(value = "expression")
     private String expression;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /*
      * The status of term relationship.
      */
     @Generated
-    @JsonProperty(value = "status")
     private AtlasTermRelationshipStatus status;
 
     /*
      * The steward of the term.
      */
     @Generated
-    @JsonProperty(value = "steward")
     private String steward;
 
     /*
      * The GUID of the term.
      */
     @Generated
-    @JsonProperty(value = "termGuid")
     private String termGuid;
 
     /**
@@ -222,4 +219,60 @@ public AtlasRelatedTermHeader setTermGuid(String termGuid) {
         this.termGuid = termGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("expression", this.expression);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("steward", this.steward);
+        jsonWriter.writeStringField("termGuid", this.termGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelatedTermHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelatedTermHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelatedTermHeader.
+     */
+    @Generated
+    public static AtlasRelatedTermHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelatedTermHeader deserializedAtlasRelatedTermHeader = new AtlasRelatedTermHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("description".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.displayText = reader.getString();
+                } else if ("expression".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.expression = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.relationGuid = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.status
+                        = AtlasTermRelationshipStatus.fromString(reader.getString());
+                } else if ("steward".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.steward = reader.getString();
+                } else if ("termGuid".equals(fieldName)) {
+                    deserializedAtlasRelatedTermHeader.termGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelatedTermHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java
index f3dfa026a7eb..91cf4e04a987 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java
@@ -6,117 +6,106 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Atlas relationship instance.
  */
 @Fluent
-public final class AtlasRelationship {
+public final class AtlasRelationship implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * Reference to an object-instance of a type - like entity.
      */
     @Generated
-    @JsonProperty(value = "end1")
     private AtlasObjectId end1;
 
     /*
      * Reference to an object-instance of a type - like entity.
      */
     @Generated
-    @JsonProperty(value = "end2")
     private AtlasObjectId end2;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The home ID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "homeId")
     private String homeId;
 
     /*
      * The label of the relationship.
      */
     @Generated
-    @JsonProperty(value = "label")
     private String label;
 
     /*
      * Used to record the provenance of an instance of an entity or relationship
      */
     @Generated
-    @JsonProperty(value = "provenanceType")
     private Integer provenanceType;
 
     /*
      * The enum of relationship status.
      */
     @Generated
-    @JsonProperty(value = "status")
     private StatusAtlasRelationship status;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the relationship.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /**
@@ -455,4 +444,84 @@ public AtlasRelationship setVersion(Long version) {
         this.version = version;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("end1", this.end1);
+        jsonWriter.writeJsonField("end2", this.end2);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("homeId", this.homeId);
+        jsonWriter.writeStringField("label", this.label);
+        jsonWriter.writeNumberField("provenanceType", this.provenanceType);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationship from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationship if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationship.
+     */
+    @Generated
+    public static AtlasRelationship fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationship deserializedAtlasRelationship = new AtlasRelationship();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasRelationship.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasRelationship.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasRelationship.lastModifiedTS = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasRelationship.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasRelationship.createdBy = reader.getString();
+                } else if ("end1".equals(fieldName)) {
+                    deserializedAtlasRelationship.end1 = AtlasObjectId.fromJson(reader);
+                } else if ("end2".equals(fieldName)) {
+                    deserializedAtlasRelationship.end2 = AtlasObjectId.fromJson(reader);
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasRelationship.guid = reader.getString();
+                } else if ("homeId".equals(fieldName)) {
+                    deserializedAtlasRelationship.homeId = reader.getString();
+                } else if ("label".equals(fieldName)) {
+                    deserializedAtlasRelationship.label = reader.getString();
+                } else if ("provenanceType".equals(fieldName)) {
+                    deserializedAtlasRelationship.provenanceType = reader.getNullable(JsonReader::getInt);
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasRelationship.status = StatusAtlasRelationship.fromString(reader.getString());
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasRelationship.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasRelationship.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasRelationship.version = reader.getNullable(JsonReader::getLong);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationship;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java
index ce7c80133683..4cb363441482 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,113 +18,98 @@
  * The relationshipEndDef represents an end of the relationship. The end of the
  * relationship is defined by a type, an
  * attribute name, cardinality and whether
- * it is the container end of the relationship.
+ * it  is the container end of the relationship.
  */
 @Fluent
-public final class AtlasRelationshipAttributeDef {
+public final class AtlasRelationshipAttributeDef implements JsonSerializable {
     /*
      * single-valued attribute or multi-valued attribute.
      */
     @Generated
-    @JsonProperty(value = "cardinality")
     private CardinalityValue cardinality;
 
     /*
      * An array of constraints.
      */
     @Generated
-    @JsonProperty(value = "constraints")
     private List constraints;
 
     /*
      * The default value of the attribute.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * The description of the attribute.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Determines if it is included in notification.
      */
     @Generated
-    @JsonProperty(value = "includeInNotification")
     private Boolean includeInNotification;
 
     /*
      * Determines if it is indexable.
      */
     @Generated
-    @JsonProperty(value = "isIndexable")
     private Boolean isIndexable;
 
     /*
      * Determines if it is optional.
      */
     @Generated
-    @JsonProperty(value = "isOptional")
     private Boolean isOptional;
 
     /*
      * Determines if it unique.
      */
     @Generated
-    @JsonProperty(value = "isUnique")
     private Boolean isUnique;
 
     /*
      * The name of the attribute.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the attribute.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The maximum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMaxCount")
     private Integer valuesMaxCount;
 
     /*
      * The minimum count of the values.
      */
     @Generated
-    @JsonProperty(value = "valuesMinCount")
     private Integer valuesMinCount;
 
     /*
      * Determines if it is a legacy attribute.
      */
     @Generated
-    @JsonProperty(value = "isLegacyAttribute")
     private Boolean isLegacyAttribute;
 
     /*
      * The name of the relationship type.
      */
     @Generated
-    @JsonProperty(value = "relationshipTypeName")
     private String relationshipTypeName;
 
     /**
@@ -459,4 +448,90 @@ public AtlasRelationshipAttributeDef setRelationshipTypeName(String relationship
         this.relationshipTypeName = relationshipTypeName;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("cardinality", this.cardinality == null ? null : this.cardinality.toString());
+        jsonWriter.writeArrayField("constraints", this.constraints, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeBooleanField("includeInNotification", this.includeInNotification);
+        jsonWriter.writeBooleanField("isIndexable", this.isIndexable);
+        jsonWriter.writeBooleanField("isOptional", this.isOptional);
+        jsonWriter.writeBooleanField("isUnique", this.isUnique);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeNumberField("valuesMaxCount", this.valuesMaxCount);
+        jsonWriter.writeNumberField("valuesMinCount", this.valuesMinCount);
+        jsonWriter.writeBooleanField("isLegacyAttribute", this.isLegacyAttribute);
+        jsonWriter.writeStringField("relationshipTypeName", this.relationshipTypeName);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipAttributeDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipAttributeDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipAttributeDef.
+     */
+    @Generated
+    public static AtlasRelationshipAttributeDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipAttributeDef deserializedAtlasRelationshipAttributeDef
+                = new AtlasRelationshipAttributeDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("cardinality".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.cardinality
+                        = CardinalityValue.fromString(reader.getString());
+                } else if ("constraints".equals(fieldName)) {
+                    List constraints
+                        = reader.readArray(reader1 -> AtlasConstraintDef.fromJson(reader1));
+                    deserializedAtlasRelationshipAttributeDef.constraints = constraints;
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.defaultValue = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.description = reader.getString();
+                } else if ("includeInNotification".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.includeInNotification
+                        = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isIndexable".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isIndexable = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isOptional".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isOptional = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isUnique".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isUnique = reader.getNullable(JsonReader::getBoolean);
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasRelationshipAttributeDef.options = options;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.typeName = reader.getString();
+                } else if ("valuesMaxCount".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.valuesMaxCount = reader.getNullable(JsonReader::getInt);
+                } else if ("valuesMinCount".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.valuesMinCount = reader.getNullable(JsonReader::getInt);
+                } else if ("isLegacyAttribute".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.isLegacyAttribute
+                        = reader.getNullable(JsonReader::getBoolean);
+                } else if ("relationshipTypeName".equals(fieldName)) {
+                    deserializedAtlasRelationshipAttributeDef.relationshipTypeName = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipAttributeDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java
index 29420109910f..9e12f91ad0d5 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -21,9 +25,9 @@
  * whether the
  * end is a container.
  * RelationshipDefs can have AttributeDefs - though only
- * primitive types are allowed.
+ * primitive types are allowed. 
  * RelationshipDefs have a relationshipCategory
- * specifying the UML type of relationship required
+ * specifying the UML type of relationship required 
  * The way EntityDefs and
  * RelationshipDefs are intended to be used is that EntityDefs will define
  * AttributeDefs these AttributeDefs
@@ -33,15 +37,15 @@
  * instances. For example
  * EntityDef A might have attributes attr1,attr2,attr3
  * 
- * EntityDef B might have attributes attr4,attr5,attr6
+ * EntityDef B might have attributes attr4,attr5,attr6 
  * RelationshipDef
- * AtoB might define 2 ends
+ * AtoB might define 2 ends 
  * 
- * end1: type A, name attr7
- * end2: type B, name attr8
+ * end1:  type A, name attr7
+ * end2:  type B, name attr8 
  * 
  * When an instance of EntityDef A is created, it
- * will have attributes attr1,attr2,attr3,attr7
+ * will have attributes attr1,attr2,attr3,attr7 
  * When an instance of EntityDef
  * B is created, it will have attributes attr4,attr5,attr6,attr8
  * 
@@ -51,151 +55,132 @@
  * the entity instances.
  */
 @Fluent
-public final class AtlasRelationshipDef {
+public final class AtlasRelationshipDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef1")
     private AtlasRelationshipEndDef endDef1;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef2")
     private AtlasRelationshipEndDef endDef2;
 
     /*
      * The Relationship category determines the style of relationship around
      * containment and lifecycle.
      * UML terminology is used for the values.
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
-     * The difference being in the lifecycles of the container and its children.
+     * The difference being in the lifecycles of the container and its children. 
      * In the COMPOSITION case, the children cannot exist without the container.
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      */
     @Generated
-    @JsonProperty(value = "relationshipCategory")
     private RelationshipCategory relationshipCategory;
 
     /*
      * The label of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipLabel")
     private String relationshipLabel;
 
     /**
@@ -539,7 +524,7 @@ public AtlasRelationshipDef setAttributeDefs(List attributeDe
      * Get the endDef1 property: The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      * 
      * @return the endDef1 value.
      */
@@ -552,7 +537,7 @@ public AtlasRelationshipEndDef getEndDef1() {
      * Set the endDef1 property: The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      * 
      * @param endDef1 the endDef1 value to set.
      * @return the AtlasRelationshipDef object itself.
@@ -567,7 +552,7 @@ public AtlasRelationshipDef setEndDef1(AtlasRelationshipEndDef endDef1) {
      * Get the endDef2 property: The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      * 
      * @return the endDef2 value.
      */
@@ -580,7 +565,7 @@ public AtlasRelationshipEndDef getEndDef2() {
      * Set the endDef2 property: The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      * 
      * @param endDef2 the endDef2 value to set.
      * @return the AtlasRelationshipDef object itself.
@@ -595,9 +580,9 @@ public AtlasRelationshipDef setEndDef2(AtlasRelationshipEndDef endDef2) {
      * Get the relationshipCategory property: The Relationship category determines the style of relationship around
      * containment and lifecycle.
      * UML terminology is used for the values.
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
-     * The difference being in the lifecycles of the container and its children.
+     * The difference being in the lifecycles of the container and its children. 
      * In the COMPOSITION case, the children cannot exist without the container.
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      * 
@@ -612,9 +597,9 @@ public RelationshipCategory getRelationshipCategory() {
      * Set the relationshipCategory property: The Relationship category determines the style of relationship around
      * containment and lifecycle.
      * UML terminology is used for the values.
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
-     * The difference being in the lifecycles of the container and its children.
+     * The difference being in the lifecycles of the container and its children. 
      * In the COMPOSITION case, the children cannot exist without the container.
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      * 
@@ -648,4 +633,100 @@ public AtlasRelationshipDef setRelationshipLabel(String relationshipLabel) {
         this.relationshipLabel = relationshipLabel;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("endDef1", this.endDef1);
+        jsonWriter.writeJsonField("endDef2", this.endDef2);
+        jsonWriter.writeStringField("relationshipCategory",
+            this.relationshipCategory == null ? null : this.relationshipCategory.toString());
+        jsonWriter.writeStringField("relationshipLabel", this.relationshipLabel);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipDef.
+     */
+    @Generated
+    public static AtlasRelationshipDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipDef deserializedAtlasRelationshipDef = new AtlasRelationshipDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasRelationshipDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasRelationshipDef.attributeDefs = attributeDefs;
+                } else if ("endDef1".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.endDef1 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("endDef2".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.endDef2 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("relationshipCategory".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.relationshipCategory
+                        = RelationshipCategory.fromString(reader.getString());
+                } else if ("relationshipLabel".equals(fieldName)) {
+                    deserializedAtlasRelationshipDef.relationshipLabel = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java
index ed3fb6af245a..ce25f2750b09 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java
@@ -6,56 +6,54 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The relationshipEndDef represents an end of the relationship. The end of the
  * relationship is defined by a type, an
  * attribute name, cardinality and whether
- * it is the container end of the relationship.
+ * it  is the container end of the relationship.
  */
 @Fluent
-public final class AtlasRelationshipEndDef {
+public final class AtlasRelationshipEndDef implements JsonSerializable {
     /*
      * single-valued attribute or multi-valued attribute.
      */
     @Generated
-    @JsonProperty(value = "cardinality")
     private CardinalityValue cardinality;
 
     /*
      * The description of the relationship end definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * Determines if it is container.
      */
     @Generated
-    @JsonProperty(value = "isContainer")
     private Boolean isContainer;
 
     /*
      * Determines if it is a legacy attribute.
      */
     @Generated
-    @JsonProperty(value = "isLegacyAttribute")
     private Boolean isLegacyAttribute;
 
     /*
      * The name of the relationship end definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The type of the relationship end.
      */
     @Generated
-    @JsonProperty(value = "type")
     private String type;
 
     /**
@@ -196,4 +194,56 @@ public AtlasRelationshipEndDef setType(String type) {
         this.type = type;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("cardinality", this.cardinality == null ? null : this.cardinality.toString());
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeBooleanField("isContainer", this.isContainer);
+        jsonWriter.writeBooleanField("isLegacyAttribute", this.isLegacyAttribute);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("type", this.type);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipEndDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipEndDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipEndDef.
+     */
+    @Generated
+    public static AtlasRelationshipEndDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipEndDef deserializedAtlasRelationshipEndDef = new AtlasRelationshipEndDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("cardinality".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.cardinality = CardinalityValue.fromString(reader.getString());
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.description = reader.getString();
+                } else if ("isContainer".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.isContainer = reader.getNullable(JsonReader::getBoolean);
+                } else if ("isLegacyAttribute".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.isLegacyAttribute = reader.getNullable(JsonReader::getBoolean);
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.name = reader.getString();
+                } else if ("type".equals(fieldName)) {
+                    deserializedAtlasRelationshipEndDef.type = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipEndDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java
index 400e199b0d9f..28de62460e04 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * The relationship with extended information.
  */
 @Immutable
-public final class AtlasRelationshipWithExtInfo {
+public final class AtlasRelationshipWithExtInfo implements JsonSerializable {
     /*
      * The referred entity header.
      */
     @Generated
-    @JsonProperty(value = "referredEntities")
     private Map referredEntities;
 
     /*
      * Atlas relationship instance.
      */
     @Generated
-    @JsonProperty(value = "relationship")
     private AtlasRelationship relationship;
 
     /**
@@ -54,4 +56,47 @@ public Map getReferredEntities() {
     public AtlasRelationship getRelationship() {
         return this.relationship;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("referredEntities", this.referredEntities,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("relationship", this.relationship);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasRelationshipWithExtInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasRelationshipWithExtInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasRelationshipWithExtInfo.
+     */
+    @Generated
+    public static AtlasRelationshipWithExtInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasRelationshipWithExtInfo deserializedAtlasRelationshipWithExtInfo = new AtlasRelationshipWithExtInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("referredEntities".equals(fieldName)) {
+                    Map referredEntities
+                        = reader.readMap(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedAtlasRelationshipWithExtInfo.referredEntities = referredEntities;
+                } else if ("relationship".equals(fieldName)) {
+                    deserializedAtlasRelationshipWithExtInfo.relationship = AtlasRelationship.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasRelationshipWithExtInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java
index fbdab722d129..db5c580a0e10 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
@@ -14,26 +18,23 @@
  * AtlasEntity, AtlasClassification.
  */
 @Fluent
-public final class AtlasStruct {
+public final class AtlasStruct implements JsonSerializable {
     /*
      * The attributes of the struct.
      */
     @Generated
-    @JsonProperty(value = "attributes")
     private Map attributes;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /**
@@ -108,4 +109,48 @@ public AtlasStruct setLastModifiedTS(String lastModifiedTS) {
         this.lastModifiedTS = lastModifiedTS;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("attributes", this.attributes, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasStruct from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasStruct if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasStruct.
+     */
+    @Generated
+    public static AtlasStruct fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasStruct deserializedAtlasStruct = new AtlasStruct();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("attributes".equals(fieldName)) {
+                    Map attributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedAtlasStruct.attributes = attributes;
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedAtlasStruct.typeName = reader.getString();
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasStruct.lastModifiedTS = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasStruct;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java
index 34ab01c96b58..f7b45704e44c 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * class that captures details of a struct-type.
  */
 @Fluent
-public final class AtlasStructDef {
+public final class AtlasStructDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -456,4 +445,86 @@ public AtlasStructDef setAttributeDefs(List attributeDefs) {
         this.attributeDefs = attributeDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasStructDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasStructDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasStructDef.
+     */
+    @Generated
+    public static AtlasStructDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasStructDef deserializedAtlasStructDef = new AtlasStructDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasStructDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasStructDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasStructDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasStructDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasStructDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasStructDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasStructDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasStructDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasStructDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasStructDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasStructDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasStructDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasStructDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasStructDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasStructDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasStructDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java
index e5263fa4a362..b5f8affedb04 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java
@@ -6,74 +6,69 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The header for term assignment.
  */
 @Fluent
-public final class AtlasTermAssignmentHeader {
+public final class AtlasTermAssignmentHeader implements JsonSerializable {
     /*
      * The confidence of the term assignment.
      */
     @Generated
-    @JsonProperty(value = "confidence")
     private Integer confidence;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The description of the term assignment.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The expression of the term assignment.
      */
     @Generated
-    @JsonProperty(value = "expression")
     private String expression;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /*
      * The status of terms assignment.
      */
     @Generated
-    @JsonProperty(value = "status")
     private AtlasTermAssignmentStatus status;
 
     /*
      * The steward of the term.
      */
     @Generated
-    @JsonProperty(value = "steward")
     private String steward;
 
     /*
      * The GUID of the term.
      */
     @Generated
-    @JsonProperty(value = "termGuid")
     private String termGuid;
 
     /**
@@ -280,4 +275,66 @@ public AtlasTermAssignmentHeader setTermGuid(String termGuid) {
         this.termGuid = termGuid;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("confidence", this.confidence);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("expression", this.expression);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        jsonWriter.writeStringField("steward", this.steward);
+        jsonWriter.writeStringField("termGuid", this.termGuid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTermAssignmentHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTermAssignmentHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTermAssignmentHeader.
+     */
+    @Generated
+    public static AtlasTermAssignmentHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTermAssignmentHeader deserializedAtlasTermAssignmentHeader = new AtlasTermAssignmentHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("confidence".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.confidence = reader.getNullable(JsonReader::getInt);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.createdBy = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.displayText = reader.getString();
+                } else if ("expression".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.expression = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.relationGuid = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.status
+                        = AtlasTermAssignmentStatus.fromString(reader.getString());
+                } else if ("steward".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.steward = reader.getString();
+                } else if ("termGuid".equals(fieldName)) {
+                    deserializedAtlasTermAssignmentHeader.termGuid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTermAssignmentHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java
index 52e314da8500..48e0b9d78f09 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -72,7 +71,6 @@ public AtlasTermAssignmentStatus() {
      * @return the corresponding AtlasTermAssignmentStatus.
      */
     @Generated
-    @JsonCreator
     public static AtlasTermAssignmentStatus fromString(String name) {
         return fromString(name, AtlasTermAssignmentStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java
index ff1c38d4f681..a3ba27500c11 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java
@@ -6,46 +6,45 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The basic information for term categorization.
  */
 @Fluent
-public final class AtlasTermCategorizationHeader {
+public final class AtlasTermCategorizationHeader implements JsonSerializable {
     /*
      * The GUID of the category.
      */
     @Generated
-    @JsonProperty(value = "categoryGuid")
     private String categoryGuid;
 
     /*
      * The description of the record.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The display text.
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * The GUID of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationGuid")
     private String relationGuid;
 
     /*
      * The status of term relationship.
      */
     @Generated
-    @JsonProperty(value = "status")
     private AtlasTermRelationshipStatus status;
 
     /**
@@ -164,4 +163,55 @@ public AtlasTermCategorizationHeader setStatus(AtlasTermRelationshipStatus statu
         this.status = status;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("categoryGuid", this.categoryGuid);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("relationGuid", this.relationGuid);
+        jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTermCategorizationHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTermCategorizationHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTermCategorizationHeader.
+     */
+    @Generated
+    public static AtlasTermCategorizationHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTermCategorizationHeader deserializedAtlasTermCategorizationHeader
+                = new AtlasTermCategorizationHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("categoryGuid".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.categoryGuid = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.description = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.displayText = reader.getString();
+                } else if ("relationGuid".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.relationGuid = reader.getString();
+                } else if ("status".equals(fieldName)) {
+                    deserializedAtlasTermCategorizationHeader.status
+                        = AtlasTermRelationshipStatus.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTermCategorizationHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java
index b0562345144c..a396086f56de 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -60,7 +59,6 @@ public AtlasTermRelationshipStatus() {
      * @return the corresponding AtlasTermRelationshipStatus.
      */
     @Generated
-    @JsonCreator
     public static AtlasTermRelationshipStatus fromString(String name) {
         return fromString(name, AtlasTermRelationshipStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java
index 1d7e7d18f997..090638cc4181 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,103 +18,89 @@
  * The definitions of type.
  */
 @Immutable
-public final class AtlasTypeDef {
+public final class AtlasTypeDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
@@ -138,62 +128,54 @@ public final class AtlasTypeDef {
      * 
      */
     @Generated
-    @JsonProperty(value = "entityTypes")
     private List entityTypes;
 
     /*
      * An array of sub types.
      */
     @Generated
-    @JsonProperty(value = "subTypes")
     private List subTypes;
 
     /*
      * An array of super types.
      */
     @Generated
-    @JsonProperty(value = "superTypes")
     private List superTypes;
 
     /*
      * An array of relationship attributes.
      */
     @Generated
-    @JsonProperty(value = "relationshipAttributeDefs")
     private List relationshipAttributeDefs;
 
     /*
      * The default value.
      */
     @Generated
-    @JsonProperty(value = "defaultValue")
     private String defaultValue;
 
     /*
      * An array of enum element definitions.
      */
     @Generated
-    @JsonProperty(value = "elementDefs")
     private List elementDefs;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef1")
     private AtlasRelationshipEndDef endDef1;
 
     /*
      * The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      */
     @Generated
-    @JsonProperty(value = "endDef2")
     private AtlasRelationshipEndDef endDef2;
 
     /*
@@ -201,29 +183,26 @@ public final class AtlasTypeDef {
      * containment and lifecycle.
      * UML terminology is used for the values.
      * 
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
      * 
-     * The difference being in the lifecycles of the container and its children.
-     * In the COMPOSITION case, the children cannot exist without the container.
+     * The difference being in the lifecycles of the container and its children. 
+     * In the COMPOSITION case, the children cannot exist without the container. 
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      */
     @Generated
-    @JsonProperty(value = "relationshipCategory")
     private RelationshipCategory relationshipCategory;
 
     /*
      * The label of the relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipLabel")
     private String relationshipLabel;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -457,7 +436,7 @@ public List getElementDefs() {
      * Get the endDef1 property: The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      * 
      * @return the endDef1 value.
      */
@@ -470,7 +449,7 @@ public AtlasRelationshipEndDef getEndDef1() {
      * Get the endDef2 property: The relationshipEndDef represents an end of the relationship. The end of the
      * relationship is defined by a type, an
      * attribute name, cardinality and whether
-     * it is the container end of the relationship.
+     * it  is the container end of the relationship.
      * 
      * @return the endDef2 value.
      */
@@ -484,11 +463,11 @@ public AtlasRelationshipEndDef getEndDef2() {
      * containment and lifecycle.
      * UML terminology is used for the values.
      * 
-     * ASSOCIATION is a relationship with no containment.
+     * ASSOCIATION is a relationship with no containment. 
      * COMPOSITION and AGGREGATION are containment relationships.
      * 
-     * The difference being in the lifecycles of the container and its children.
-     * In the COMPOSITION case, the children cannot exist without the container.
+     * The difference being in the lifecycles of the container and its children. 
+     * In the COMPOSITION case, the children cannot exist without the container. 
      * For AGGREGATION, the life cycles of the container and children are totally independent.
      * 
      * @return the relationshipCategory value.
@@ -517,4 +496,125 @@ public String getRelationshipLabel() {
     public List getAttributeDefs() {
         return this.attributeDefs;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("entityTypes", this.entityTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("subTypes", this.subTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("superTypes", this.superTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("relationshipAttributeDefs", this.relationshipAttributeDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeStringField("defaultValue", this.defaultValue);
+        jsonWriter.writeArrayField("elementDefs", this.elementDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("endDef1", this.endDef1);
+        jsonWriter.writeJsonField("endDef2", this.endDef2);
+        jsonWriter.writeStringField("relationshipCategory",
+            this.relationshipCategory == null ? null : this.relationshipCategory.toString());
+        jsonWriter.writeStringField("relationshipLabel", this.relationshipLabel);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTypeDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTypeDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTypeDef.
+     */
+    @Generated
+    public static AtlasTypeDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTypeDef deserializedAtlasTypeDef = new AtlasTypeDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasTypeDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedAtlasTypeDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedAtlasTypeDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedAtlasTypeDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedAtlasTypeDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasTypeDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasTypeDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedAtlasTypeDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedAtlasTypeDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedAtlasTypeDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedAtlasTypeDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedAtlasTypeDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedAtlasTypeDef.lastModifiedTS = reader.getString();
+                } else if ("entityTypes".equals(fieldName)) {
+                    List entityTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.entityTypes = entityTypes;
+                } else if ("subTypes".equals(fieldName)) {
+                    List subTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.subTypes = subTypes;
+                } else if ("superTypes".equals(fieldName)) {
+                    List superTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedAtlasTypeDef.superTypes = superTypes;
+                } else if ("relationshipAttributeDefs".equals(fieldName)) {
+                    List relationshipAttributeDefs
+                        = reader.readArray(reader1 -> AtlasRelationshipAttributeDef.fromJson(reader1));
+                    deserializedAtlasTypeDef.relationshipAttributeDefs = relationshipAttributeDefs;
+                } else if ("defaultValue".equals(fieldName)) {
+                    deserializedAtlasTypeDef.defaultValue = reader.getString();
+                } else if ("elementDefs".equals(fieldName)) {
+                    List elementDefs
+                        = reader.readArray(reader1 -> AtlasEnumElementDef.fromJson(reader1));
+                    deserializedAtlasTypeDef.elementDefs = elementDefs;
+                } else if ("endDef1".equals(fieldName)) {
+                    deserializedAtlasTypeDef.endDef1 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("endDef2".equals(fieldName)) {
+                    deserializedAtlasTypeDef.endDef2 = AtlasRelationshipEndDef.fromJson(reader);
+                } else if ("relationshipCategory".equals(fieldName)) {
+                    deserializedAtlasTypeDef.relationshipCategory = RelationshipCategory.fromString(reader.getString());
+                } else if ("relationshipLabel".equals(fieldName)) {
+                    deserializedAtlasTypeDef.relationshipLabel = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedAtlasTypeDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTypeDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java
index 34cd050ef63e..f9794e9ab3f4 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The basic information of the type definition.
  */
 @Immutable
-public final class AtlasTypeDefHeader {
+public final class AtlasTypeDefHeader implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /**
@@ -70,4 +71,47 @@ public String getGuid() {
     public String getName() {
         return this.name;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTypeDefHeader from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTypeDefHeader if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTypeDefHeader.
+     */
+    @Generated
+    public static AtlasTypeDefHeader fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTypeDefHeader deserializedAtlasTypeDefHeader = new AtlasTypeDefHeader();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedAtlasTypeDefHeader.category = TypeCategory.fromString(reader.getString());
+                } else if ("guid".equals(fieldName)) {
+                    deserializedAtlasTypeDefHeader.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedAtlasTypeDefHeader.name = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTypeDefHeader;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java
index f75b2e10fe7b..f936a7db7402 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java
@@ -6,61 +6,58 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The definitions of types.
  */
 @Fluent
-public final class AtlasTypesDef {
+public final class AtlasTypesDef implements JsonSerializable {
     /*
      * businessMetadataDefs
      */
     @Generated
-    @JsonProperty(value = "businessMetadataDefs")
     private List businessMetadataDefs;
 
     /*
      * An array of classification definitions.
      */
     @Generated
-    @JsonProperty(value = "classificationDefs")
     private List classificationDefs;
 
     /*
      * An array of entity definitions.
      */
     @Generated
-    @JsonProperty(value = "entityDefs")
     private List entityDefs;
 
     /*
      * An array of enum definitions.
      */
     @Generated
-    @JsonProperty(value = "enumDefs")
     private List enumDefs;
 
     /*
      * An array of relationship definitions.
      */
     @Generated
-    @JsonProperty(value = "relationshipDefs")
     private List relationshipDefs;
 
     /*
      * An array of struct definitions.
      */
     @Generated
-    @JsonProperty(value = "structDefs")
     private List structDefs;
 
     /*
      * An array of term template definitions.
      */
     @Generated
-    @JsonProperty(value = "termTemplateDefs")
     private List termTemplateDefs;
 
     /**
@@ -223,4 +220,74 @@ public AtlasTypesDef setTermTemplateDefs(List termTemplateDefs)
         this.termTemplateDefs = termTemplateDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("businessMetadataDefs", this.businessMetadataDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("classificationDefs", this.classificationDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("entityDefs", this.entityDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("enumDefs", this.enumDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("relationshipDefs", this.relationshipDefs,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("structDefs", this.structDefs, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("termTemplateDefs", this.termTemplateDefs,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AtlasTypesDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AtlasTypesDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AtlasTypesDef.
+     */
+    @Generated
+    public static AtlasTypesDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AtlasTypesDef deserializedAtlasTypesDef = new AtlasTypesDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("businessMetadataDefs".equals(fieldName)) {
+                    List businessMetadataDefs
+                        = reader.readArray(reader1 -> AtlasBusinessMetadataDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.businessMetadataDefs = businessMetadataDefs;
+                } else if ("classificationDefs".equals(fieldName)) {
+                    List classificationDefs
+                        = reader.readArray(reader1 -> AtlasClassificationDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.classificationDefs = classificationDefs;
+                } else if ("entityDefs".equals(fieldName)) {
+                    List entityDefs = reader.readArray(reader1 -> AtlasEntityDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.entityDefs = entityDefs;
+                } else if ("enumDefs".equals(fieldName)) {
+                    List enumDefs = reader.readArray(reader1 -> AtlasEnumDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.enumDefs = enumDefs;
+                } else if ("relationshipDefs".equals(fieldName)) {
+                    List relationshipDefs
+                        = reader.readArray(reader1 -> AtlasRelationshipDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.relationshipDefs = relationshipDefs;
+                } else if ("structDefs".equals(fieldName)) {
+                    List structDefs = reader.readArray(reader1 -> AtlasStructDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.structDefs = structDefs;
+                } else if ("termTemplateDefs".equals(fieldName)) {
+                    List termTemplateDefs
+                        = reader.readArray(reader1 -> TermTemplateDef.fromJson(reader1));
+                    deserializedAtlasTypesDef.termTemplateDefs = termTemplateDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAtlasTypesDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java
index e66aafd55363..d26ed4345726 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The payload of autocomplete request.
  */
 @Fluent
-public final class AutoCompleteOptions {
+public final class AutoCompleteOptions implements JsonSerializable {
     /*
      * The keywords applied to all fields that support autocomplete operation. It must
      * be at least 1 character, and no more than 100 characters.
      */
     @Generated
-    @JsonProperty(value = "keywords")
     private String keywords;
 
     /*
@@ -26,14 +29,12 @@ public final class AutoCompleteOptions {
      * The value must be a number between 1 and 100.
      */
     @Generated
-    @JsonProperty(value = "limit")
     private Integer limit;
 
     /*
      * The filter for the autocomplete request.
      */
     @Generated
-    @JsonProperty(value = "filter")
     private Object filter;
 
     /**
@@ -112,4 +113,47 @@ public AutoCompleteOptions setFilter(Object filter) {
         this.filter = filter;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("keywords", this.keywords);
+        jsonWriter.writeNumberField("limit", this.limit);
+        jsonWriter.writeUntypedField("filter", this.filter);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AutoCompleteOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AutoCompleteOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AutoCompleteOptions.
+     */
+    @Generated
+    public static AutoCompleteOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AutoCompleteOptions deserializedAutoCompleteOptions = new AutoCompleteOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("keywords".equals(fieldName)) {
+                    deserializedAutoCompleteOptions.keywords = reader.getString();
+                } else if ("limit".equals(fieldName)) {
+                    deserializedAutoCompleteOptions.limit = reader.getNullable(JsonReader::getInt);
+                } else if ("filter".equals(fieldName)) {
+                    deserializedAutoCompleteOptions.filter = reader.readUntyped();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAutoCompleteOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java
index 5873227d5f30..56c10d3c3935 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The result of the autocomplete request.
  */
 @Immutable
-public final class AutoCompleteResult {
+public final class AutoCompleteResult implements JsonSerializable {
     /*
      * The result value
      */
     @Generated
-    @JsonProperty(value = "value")
     private List value;
 
     /**
@@ -37,4 +40,43 @@ private AutoCompleteResult() {
     public List getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AutoCompleteResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AutoCompleteResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AutoCompleteResult.
+     */
+    @Generated
+    public static AutoCompleteResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AutoCompleteResult deserializedAutoCompleteResult = new AutoCompleteResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("value".equals(fieldName)) {
+                    List value
+                        = reader.readArray(reader1 -> AutoCompleteResultValue.fromJson(reader1));
+                    deserializedAutoCompleteResult.value = value;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAutoCompleteResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java
index 7f110d8012e3..68daa9529664 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The value item of the autocomplete suggest.
  */
 @Immutable
-public final class AutoCompleteResultValue {
+public final class AutoCompleteResultValue implements JsonSerializable {
     /*
      * The completed term or phrase.
      */
     @Generated
-    @JsonProperty(value = "text")
     private String text;
 
     /*
      * The completed search query text.
      */
     @Generated
-    @JsonProperty(value = "queryPlusText")
     private String queryPlusText;
 
     /**
@@ -53,4 +55,44 @@ public String getText() {
     public String getQueryPlusText() {
         return this.queryPlusText;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeStringField("queryPlusText", this.queryPlusText);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of AutoCompleteResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of AutoCompleteResultValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the AutoCompleteResultValue.
+     */
+    @Generated
+    public static AutoCompleteResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            AutoCompleteResultValue deserializedAutoCompleteResultValue = new AutoCompleteResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("text".equals(fieldName)) {
+                    deserializedAutoCompleteResultValue.text = reader.getString();
+                } else if ("queryPlusText".equals(fieldName)) {
+                    deserializedAutoCompleteResultValue.queryPlusText = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedAutoCompleteResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java
index aeac6057137b..412c708c8f51 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Bulk import result.
  */
 @Immutable
-public final class BulkImportResult {
+public final class BulkImportResult implements JsonSerializable {
     /*
      * failed importInfoList
      */
     @Generated
-    @JsonProperty(value = "failedImportInfoList")
     private List failedImportInfoList;
 
     /*
      * successful importInfoList
      */
     @Generated
-    @JsonProperty(value = "successImportInfoList")
     private List successImportInfoList;
 
     /**
@@ -54,4 +56,48 @@ public List getFailedImportInfoList() {
     public List getSuccessImportInfoList() {
         return this.successImportInfoList;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("failedImportInfoList", this.failedImportInfoList,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("successImportInfoList", this.successImportInfoList,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BulkImportResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BulkImportResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the BulkImportResult.
+     */
+    @Generated
+    public static BulkImportResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            BulkImportResult deserializedBulkImportResult = new BulkImportResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("failedImportInfoList".equals(fieldName)) {
+                    List failedImportInfoList = reader.readArray(reader1 -> ImportInfo.fromJson(reader1));
+                    deserializedBulkImportResult.failedImportInfoList = failedImportInfoList;
+                } else if ("successImportInfoList".equals(fieldName)) {
+                    List successImportInfoList = reader.readArray(reader1 -> ImportInfo.fromJson(reader1));
+                    deserializedBulkImportResult.successImportInfoList = successImportInfoList;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedBulkImportResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java
index cd435ebc6bbe..5e1da2e40878 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public BusinessAttributeUpdateBehavior() {
      * @return the corresponding BusinessAttributeUpdateBehavior.
      */
     @Generated
-    @JsonCreator
     public static BusinessAttributeUpdateBehavior fromString(String name) {
         return fromString(name, BusinessAttributeUpdateBehavior.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java
index 61c5b5d65d5a..4d45895a90b5 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessMetadataOptions.java
@@ -16,7 +16,7 @@ public final class BusinessMetadataOptions {
      * InputStream of file
      */
     @Generated
-    private FileDetails file;
+    private final FileDetails file;
 
     /**
      * Creates an instance of BusinessMetadataOptions class.
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java
index 4c4562ca89ba..f89497a460fd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public CardinalityValue() {
      * @return the corresponding CardinalityValue.
      */
     @Generated
-    @JsonCreator
     public static CardinalityValue fromString(String name) {
         return fromString(name, CardinalityValue.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java
index 0e9e03f21666..f883ba4f9805 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java
@@ -6,27 +6,29 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The request payload for classification association.
  */
 @Fluent
-public final class ClassificationAssociateOptions {
+public final class ClassificationAssociateOptions implements JsonSerializable {
     /*
      * An instance of a classification; it doesn't have an identity, this object
      * exists only when associated with an entity.
      */
     @Generated
-    @JsonProperty(value = "classification")
     private AtlasClassification classification;
 
     /*
      * The GUID of the entity.
      */
     @Generated
-    @JsonProperty(value = "entityGuids")
     private List entityGuids;
 
     /**
@@ -81,4 +83,46 @@ public ClassificationAssociateOptions setEntityGuids(List entityGuids) {
         this.entityGuids = entityGuids;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeJsonField("classification", this.classification);
+        jsonWriter.writeArrayField("entityGuids", this.entityGuids, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ClassificationAssociateOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ClassificationAssociateOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ClassificationAssociateOptions.
+     */
+    @Generated
+    public static ClassificationAssociateOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ClassificationAssociateOptions deserializedClassificationAssociateOptions
+                = new ClassificationAssociateOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("classification".equals(fieldName)) {
+                    deserializedClassificationAssociateOptions.classification = AtlasClassification.fromJson(reader);
+                } else if ("entityGuids".equals(fieldName)) {
+                    List entityGuids = reader.readArray(reader1 -> reader1.getString());
+                    deserializedClassificationAssociateOptions.entityGuids = entityGuids;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedClassificationAssociateOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java
index 58ff3f638c1e..c64893462b11 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * ContactInfo.
  */
 @Fluent
-public final class ContactInfo {
+public final class ContactInfo implements JsonSerializable {
     /*
      * Azure Active Directory object Id.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * additional information to describe this contact.
      */
     @Generated
-    @JsonProperty(value = "info")
     private String info;
 
     /**
@@ -77,4 +79,44 @@ public ContactInfo setInfo(String info) {
         this.info = info;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("info", this.info);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ContactInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ContactInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ContactInfo.
+     */
+    @Generated
+    public static ContactInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContactInfo deserializedContactInfo = new ContactInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("id".equals(fieldName)) {
+                    deserializedContactInfo.id = reader.getString();
+                } else if ("info".equals(fieldName)) {
+                    deserializedContactInfo.info = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedContactInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java
index 94147092d290..f893f1c64bca 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The contact in the search and suggest result.
  */
 @Immutable
-public final class ContactSearchResultValue {
+public final class ContactSearchResultValue implements JsonSerializable {
     /*
      * The GUID of the contact.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * The description of the contact.
      */
     @Generated
-    @JsonProperty(value = "info")
     private String info;
 
     /*
@@ -32,7 +34,6 @@ public final class ContactSearchResultValue {
      * Expert or Steward for a glossary term.
      */
     @Generated
-    @JsonProperty(value = "contactType")
     private String contactType;
 
     /**
@@ -72,4 +73,47 @@ public String getInfo() {
     public String getContactType() {
         return this.contactType;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("info", this.info);
+        jsonWriter.writeStringField("contactType", this.contactType);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ContactSearchResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ContactSearchResultValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ContactSearchResultValue.
+     */
+    @Generated
+    public static ContactSearchResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ContactSearchResultValue deserializedContactSearchResultValue = new ContactSearchResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("id".equals(fieldName)) {
+                    deserializedContactSearchResultValue.id = reader.getString();
+                } else if ("info".equals(fieldName)) {
+                    deserializedContactSearchResultValue.info = reader.getString();
+                } else if ("contactType".equals(fieldName)) {
+                    deserializedContactSearchResultValue.contactType = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedContactSearchResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java
index 6da1936ff73c..b0d260c054fb 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java
@@ -6,75 +6,70 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The date format.
  */
 @Fluent
-public final class DateFormat {
+public final class DateFormat implements JsonSerializable {
     /*
      * An array of available locales.
      */
     @Generated
-    @JsonProperty(value = "availableLocales")
     private List availableLocales;
 
     /*
      * Calendar
      */
     @Generated
-    @JsonProperty(value = "calendar")
     private Double calendar;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateInstance")
     private DateFormat dateInstance;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateTimeInstance")
     private DateFormat dateTimeInstance;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "instance")
     private DateFormat instance;
 
     /*
      * Determines the leniency of the date format.
      */
     @Generated
-    @JsonProperty(value = "lenient")
     private Boolean lenient;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "numberFormat")
     private NumberFormat numberFormat;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "timeInstance")
     private DateFormat timeInstance;
 
     /*
      * The timezone information.
      */
     @Generated
-    @JsonProperty(value = "timeZone")
     private TimeZone timeZone;
 
     /**
@@ -281,4 +276,67 @@ public DateFormat setTimeZone(TimeZone timeZone) {
         this.timeZone = timeZone;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("availableLocales", this.availableLocales,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeNumberField("calendar", this.calendar);
+        jsonWriter.writeJsonField("dateInstance", this.dateInstance);
+        jsonWriter.writeJsonField("dateTimeInstance", this.dateTimeInstance);
+        jsonWriter.writeJsonField("instance", this.instance);
+        jsonWriter.writeBooleanField("lenient", this.lenient);
+        jsonWriter.writeJsonField("numberFormat", this.numberFormat);
+        jsonWriter.writeJsonField("timeInstance", this.timeInstance);
+        jsonWriter.writeJsonField("timeZone", this.timeZone);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DateFormat from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DateFormat if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the DateFormat.
+     */
+    @Generated
+    public static DateFormat fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            DateFormat deserializedDateFormat = new DateFormat();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("availableLocales".equals(fieldName)) {
+                    List availableLocales = reader.readArray(reader1 -> reader1.getString());
+                    deserializedDateFormat.availableLocales = availableLocales;
+                } else if ("calendar".equals(fieldName)) {
+                    deserializedDateFormat.calendar = reader.getNullable(JsonReader::getDouble);
+                } else if ("dateInstance".equals(fieldName)) {
+                    deserializedDateFormat.dateInstance = DateFormat.fromJson(reader);
+                } else if ("dateTimeInstance".equals(fieldName)) {
+                    deserializedDateFormat.dateTimeInstance = DateFormat.fromJson(reader);
+                } else if ("instance".equals(fieldName)) {
+                    deserializedDateFormat.instance = DateFormat.fromJson(reader);
+                } else if ("lenient".equals(fieldName)) {
+                    deserializedDateFormat.lenient = reader.getNullable(JsonReader::getBoolean);
+                } else if ("numberFormat".equals(fieldName)) {
+                    deserializedDateFormat.numberFormat = NumberFormat.fromJson(reader);
+                } else if ("timeInstance".equals(fieldName)) {
+                    deserializedDateFormat.timeInstance = DateFormat.fromJson(reader);
+                } else if ("timeZone".equals(fieldName)) {
+                    deserializedDateFormat.timeZone = TimeZone.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedDateFormat;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java
index 7fa93038e74d..397476a8b411 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,26 +18,23 @@
  * The mutation response result of entity.
  */
 @Immutable
-public final class EntityMutationResult {
+public final class EntityMutationResult implements JsonSerializable {
     /*
      * A map of GUID assignments with entities.
      */
     @Generated
-    @JsonProperty(value = "guidAssignments")
     private Map guidAssignments;
 
     /*
      * The entity headers of mutated entities.
      */
     @Generated
-    @JsonProperty(value = "mutatedEntities")
     private Map> mutatedEntities;
 
     /*
      * An array of entity headers that partially updated.
      */
     @Generated
-    @JsonProperty(value = "partialUpdatedEntities")
     private List partialUpdatedEntities;
 
     /**
@@ -72,4 +73,55 @@ public Map> getMutatedEntities() {
     public List getPartialUpdatedEntities() {
         return this.partialUpdatedEntities;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("guidAssignments", this.guidAssignments,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeMapField("mutatedEntities", this.mutatedEntities,
+            (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeJson(element1)));
+        jsonWriter.writeArrayField("partialUpdatedEntities", this.partialUpdatedEntities,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of EntityMutationResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of EntityMutationResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the EntityMutationResult.
+     */
+    @Generated
+    public static EntityMutationResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            EntityMutationResult deserializedEntityMutationResult = new EntityMutationResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guidAssignments".equals(fieldName)) {
+                    Map guidAssignments = reader.readMap(reader1 -> reader1.getString());
+                    deserializedEntityMutationResult.guidAssignments = guidAssignments;
+                } else if ("mutatedEntities".equals(fieldName)) {
+                    Map> mutatedEntities
+                        = reader.readMap(reader1 -> reader1.readArray(reader2 -> AtlasEntityHeader.fromJson(reader2)));
+                    deserializedEntityMutationResult.mutatedEntities = mutatedEntities;
+                } else if ("partialUpdatedEntities".equals(fieldName)) {
+                    List partialUpdatedEntities
+                        = reader.readArray(reader1 -> AtlasEntityHeader.fromJson(reader1));
+                    deserializedEntityMutationResult.partialUpdatedEntities = partialUpdatedEntities;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedEntityMutationResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java
index cb21860c168c..43641f6dacdd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public EntityStatus() {
      * @return the corresponding EntityStatus.
      */
     @Generated
-    @JsonCreator
     public static EntityStatus fromString(String name) {
         return fromString(name, EntityStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java
index 98dc55b1b995..420e6a93635f 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java
@@ -9,24 +9,24 @@
 import com.azure.core.util.BinaryData;
 
 /**
- * The file details model for the file.
+ * The file details for the "file" field.
  */
 @Fluent
 public final class FileDetails {
     /*
-     * The content of the file
+     * The content of the file.
      */
     @Generated
-    private BinaryData content;
+    private final BinaryData content;
 
     /*
-     * The filename of the file
+     * The filename of the file.
      */
     @Generated
     private String filename;
 
     /*
-     * The content-type of the file
+     * The content-type of the file.
      */
     @Generated
     private String contentType = "application/octet-stream";
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java
index 89736114981e..834e786867d0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java
@@ -6,39 +6,39 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * ImportInfo.
  */
 @Immutable
-public final class ImportInfo {
+public final class ImportInfo implements JsonSerializable {
     /*
      * childObjectName
      */
     @Generated
-    @JsonProperty(value = "childObjectName")
     private String childObjectName;
 
     /*
      * importStatus
      */
     @Generated
-    @JsonProperty(value = "importStatus")
     private ImportStatus importStatus;
 
     /*
      * parentObjectName
      */
     @Generated
-    @JsonProperty(value = "parentObjectName")
     private String parentObjectName;
 
     /*
      * remarks
      */
     @Generated
-    @JsonProperty(value = "remarks")
     private String remarks;
 
     /**
@@ -87,4 +87,50 @@ public String getParentObjectName() {
     public String getRemarks() {
         return this.remarks;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("childObjectName", this.childObjectName);
+        jsonWriter.writeStringField("importStatus", this.importStatus == null ? null : this.importStatus.toString());
+        jsonWriter.writeStringField("parentObjectName", this.parentObjectName);
+        jsonWriter.writeStringField("remarks", this.remarks);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ImportInfo from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ImportInfo if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ImportInfo.
+     */
+    @Generated
+    public static ImportInfo fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ImportInfo deserializedImportInfo = new ImportInfo();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("childObjectName".equals(fieldName)) {
+                    deserializedImportInfo.childObjectName = reader.getString();
+                } else if ("importStatus".equals(fieldName)) {
+                    deserializedImportInfo.importStatus = ImportStatus.fromString(reader.getString());
+                } else if ("parentObjectName".equals(fieldName)) {
+                    deserializedImportInfo.parentObjectName = reader.getString();
+                } else if ("remarks".equals(fieldName)) {
+                    deserializedImportInfo.remarks = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedImportInfo;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java
index a483868112f8..c0b0a8ffb017 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public ImportStatus() {
      * @return the corresponding ImportStatus.
      */
     @Generated
-    @JsonCreator
     public static ImportStatus fromString(String name) {
         return fromString(name, ImportStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java
index 41e23bec4c2b..76dbcec4c4e0 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public LineageDirection() {
      * @return the corresponding LineageDirection.
      */
     @Generated
-    @JsonCreator
     public static LineageDirection fromString(String name) {
         return fromString(name, LineageDirection.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java
index 81cf00290ecf..29ab2ef969bb 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The lineage relation with GUID of the from and to entity.
  */
 @Immutable
-public final class LineageRelation {
+public final class LineageRelation implements JsonSerializable {
     /*
      * The GUID of from-entity.
      */
     @Generated
-    @JsonProperty(value = "fromEntityId")
     private String fromEntityId;
 
     /*
      * The GUID of relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipId")
     private String relationshipId;
 
     /*
      * The GUID of to-entity.
      */
     @Generated
-    @JsonProperty(value = "toEntityId")
     private String toEntityId;
 
     /**
@@ -70,4 +71,47 @@ public String getRelationshipId() {
     public String getToEntityId() {
         return this.toEntityId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("fromEntityId", this.fromEntityId);
+        jsonWriter.writeStringField("relationshipId", this.relationshipId);
+        jsonWriter.writeStringField("toEntityId", this.toEntityId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of LineageRelation from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of LineageRelation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the LineageRelation.
+     */
+    @Generated
+    public static LineageRelation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            LineageRelation deserializedLineageRelation = new LineageRelation();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("fromEntityId".equals(fieldName)) {
+                    deserializedLineageRelation.fromEntityId = reader.getString();
+                } else if ("relationshipId".equals(fieldName)) {
+                    deserializedLineageRelation.relationshipId = reader.getString();
+                } else if ("toEntityId".equals(fieldName)) {
+                    deserializedLineageRelation.toEntityId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedLineageRelation;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java
index 3c45a5120891..3040be876cc1 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * MoveEntitiesOptions.
  */
 @Fluent
-public final class MoveEntitiesOptions {
+public final class MoveEntitiesOptions implements JsonSerializable {
     /*
      * An array of entity guids to be moved to target collection.
      */
     @Generated
-    @JsonProperty(value = "entityGuids")
     private List entityGuids;
 
     /**
@@ -49,4 +52,42 @@ public MoveEntitiesOptions setEntityGuids(List entityGuids) {
         this.entityGuids = entityGuids;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("entityGuids", this.entityGuids, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of MoveEntitiesOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of MoveEntitiesOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the MoveEntitiesOptions.
+     */
+    @Generated
+    public static MoveEntitiesOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            MoveEntitiesOptions deserializedMoveEntitiesOptions = new MoveEntitiesOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("entityGuids".equals(fieldName)) {
+                    List entityGuids = reader.readArray(reader1 -> reader1.getString());
+                    deserializedMoveEntitiesOptions.entityGuids = entityGuids;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedMoveEntitiesOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java
index cd41d14f7ee3..f6290e0eebd1 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java
@@ -6,110 +6,100 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The number format.
  */
 @Fluent
-public final class NumberFormat {
+public final class NumberFormat implements JsonSerializable {
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "availableLocales")
     private List availableLocales;
 
     /*
      * The currency.
      */
     @Generated
-    @JsonProperty(value = "currency")
     private String currency;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "currencyInstance")
     private NumberFormat currencyInstance;
 
     /*
      * Determines if grouping is used.
      */
     @Generated
-    @JsonProperty(value = "groupingUsed")
     private Boolean groupingUsed;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "instance")
     private NumberFormat instance;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "integerInstance")
     private NumberFormat integerInstance;
 
     /*
      * The maximum of fraction digits.
      */
     @Generated
-    @JsonProperty(value = "maximumFractionDigits")
     private Integer maximumFractionDigits;
 
     /*
      * The maximum of integer digits.
      */
     @Generated
-    @JsonProperty(value = "maximumIntegerDigits")
     private Integer maximumIntegerDigits;
 
     /*
      * The minimum of fraction digits.
      */
     @Generated
-    @JsonProperty(value = "minimumFractionDigits")
     private Integer minimumFractionDigits;
 
     /*
      * The minimum of integer digits.
      */
     @Generated
-    @JsonProperty(value = "minimumIntegerDigits")
     private Integer minimumIntegerDigits;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "numberInstance")
     private NumberFormat numberInstance;
 
     /*
      * Determines if only integer is parsed.
      */
     @Generated
-    @JsonProperty(value = "parseIntegerOnly")
     private Boolean parseIntegerOnly;
 
     /*
      * The number format.
      */
     @Generated
-    @JsonProperty(value = "percentInstance")
     private NumberFormat percentInstance;
 
     /*
      * The enum of rounding mode.
      */
     @Generated
-    @JsonProperty(value = "roundingMode")
     private RoundingMode roundingMode;
 
     /**
@@ -426,4 +416,82 @@ public NumberFormat setRoundingMode(RoundingMode roundingMode) {
         this.roundingMode = roundingMode;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("availableLocales", this.availableLocales,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("currency", this.currency);
+        jsonWriter.writeJsonField("currencyInstance", this.currencyInstance);
+        jsonWriter.writeBooleanField("groupingUsed", this.groupingUsed);
+        jsonWriter.writeJsonField("instance", this.instance);
+        jsonWriter.writeJsonField("integerInstance", this.integerInstance);
+        jsonWriter.writeNumberField("maximumFractionDigits", this.maximumFractionDigits);
+        jsonWriter.writeNumberField("maximumIntegerDigits", this.maximumIntegerDigits);
+        jsonWriter.writeNumberField("minimumFractionDigits", this.minimumFractionDigits);
+        jsonWriter.writeNumberField("minimumIntegerDigits", this.minimumIntegerDigits);
+        jsonWriter.writeJsonField("numberInstance", this.numberInstance);
+        jsonWriter.writeBooleanField("parseIntegerOnly", this.parseIntegerOnly);
+        jsonWriter.writeJsonField("percentInstance", this.percentInstance);
+        jsonWriter.writeStringField("roundingMode", this.roundingMode == null ? null : this.roundingMode.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of NumberFormat from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of NumberFormat if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the NumberFormat.
+     */
+    @Generated
+    public static NumberFormat fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            NumberFormat deserializedNumberFormat = new NumberFormat();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("availableLocales".equals(fieldName)) {
+                    List availableLocales = reader.readArray(reader1 -> reader1.getString());
+                    deserializedNumberFormat.availableLocales = availableLocales;
+                } else if ("currency".equals(fieldName)) {
+                    deserializedNumberFormat.currency = reader.getString();
+                } else if ("currencyInstance".equals(fieldName)) {
+                    deserializedNumberFormat.currencyInstance = NumberFormat.fromJson(reader);
+                } else if ("groupingUsed".equals(fieldName)) {
+                    deserializedNumberFormat.groupingUsed = reader.getNullable(JsonReader::getBoolean);
+                } else if ("instance".equals(fieldName)) {
+                    deserializedNumberFormat.instance = NumberFormat.fromJson(reader);
+                } else if ("integerInstance".equals(fieldName)) {
+                    deserializedNumberFormat.integerInstance = NumberFormat.fromJson(reader);
+                } else if ("maximumFractionDigits".equals(fieldName)) {
+                    deserializedNumberFormat.maximumFractionDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("maximumIntegerDigits".equals(fieldName)) {
+                    deserializedNumberFormat.maximumIntegerDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("minimumFractionDigits".equals(fieldName)) {
+                    deserializedNumberFormat.minimumFractionDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("minimumIntegerDigits".equals(fieldName)) {
+                    deserializedNumberFormat.minimumIntegerDigits = reader.getNullable(JsonReader::getInt);
+                } else if ("numberInstance".equals(fieldName)) {
+                    deserializedNumberFormat.numberInstance = NumberFormat.fromJson(reader);
+                } else if ("parseIntegerOnly".equals(fieldName)) {
+                    deserializedNumberFormat.parseIntegerOnly = reader.getNullable(JsonReader::getBoolean);
+                } else if ("percentInstance".equals(fieldName)) {
+                    deserializedNumberFormat.percentInstance = NumberFormat.fromJson(reader);
+                } else if ("roundingMode".equals(fieldName)) {
+                    deserializedNumberFormat.roundingMode = RoundingMode.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedNumberFormat;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java
index 30ceb02551f5..faf7ea99fa48 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The lineage parents relation with GUID of the parent entity and to child entity.
  */
 @Immutable
-public final class ParentRelation {
+public final class ParentRelation implements JsonSerializable {
     /*
      * The GUID of child entity.
      */
     @Generated
-    @JsonProperty(value = "childEntityId")
     private String childEntityId;
 
     /*
      * The GUID of relationship.
      */
     @Generated
-    @JsonProperty(value = "relationshipId")
     private String relationshipId;
 
     /*
      * The GUID of parent entity.
      */
     @Generated
-    @JsonProperty(value = "parentEntityId")
     private String parentEntityId;
 
     /**
@@ -70,4 +71,47 @@ public String getRelationshipId() {
     public String getParentEntityId() {
         return this.parentEntityId;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("childEntityId", this.childEntityId);
+        jsonWriter.writeStringField("relationshipId", this.relationshipId);
+        jsonWriter.writeStringField("parentEntityId", this.parentEntityId);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ParentRelation from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ParentRelation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ParentRelation.
+     */
+    @Generated
+    public static ParentRelation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ParentRelation deserializedParentRelation = new ParentRelation();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("childEntityId".equals(fieldName)) {
+                    deserializedParentRelation.childEntityId = reader.getString();
+                } else if ("relationshipId".equals(fieldName)) {
+                    deserializedParentRelation.relationshipId = reader.getString();
+                } else if ("parentEntityId".equals(fieldName)) {
+                    deserializedParentRelation.parentEntityId = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedParentRelation;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java
index 335743e7a58c..68aa6d0714b7 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java
@@ -6,68 +6,64 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * PurviewObjectId.
  */
 @Fluent
-public final class PurviewObjectId {
+public final class PurviewObjectId implements JsonSerializable {
     /*
      * The GUID of the object.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type.
      */
     @Generated
-    @JsonProperty(value = "typeName")
     private String typeName;
 
     /*
      * The unique attributes of the object.
      */
     @Generated
-    @JsonProperty(value = "uniqueAttributes")
     private Map uniqueAttributes;
 
     /*
      * Name
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * Display text
      */
     @Generated
-    @JsonProperty(value = "displayText")
     private String displayText;
 
     /*
      * Item path
      */
     @Generated
-    @JsonProperty(value = "itemPath")
     private String itemPath;
 
     /*
      * Resource Id
      */
     @Generated
-    @JsonProperty(value = "resourceId")
     private String resourceId;
 
     /*
      * Dictionary of 
      */
     @Generated
-    @JsonProperty(value = "properties")
     private Map properties;
 
     /**
@@ -252,4 +248,65 @@ public PurviewObjectId setProperties(Map properties) {
         this.properties = properties;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("typeName", this.typeName);
+        jsonWriter.writeMapField("uniqueAttributes", this.uniqueAttributes,
+            (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeStringField("itemPath", this.itemPath);
+        jsonWriter.writeStringField("resourceId", this.resourceId);
+        jsonWriter.writeMapField("properties", this.properties, (writer, element) -> writer.writeUntyped(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of PurviewObjectId from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of PurviewObjectId if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the PurviewObjectId.
+     */
+    @Generated
+    public static PurviewObjectId fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            PurviewObjectId deserializedPurviewObjectId = new PurviewObjectId();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("guid".equals(fieldName)) {
+                    deserializedPurviewObjectId.guid = reader.getString();
+                } else if ("typeName".equals(fieldName)) {
+                    deserializedPurviewObjectId.typeName = reader.getString();
+                } else if ("uniqueAttributes".equals(fieldName)) {
+                    Map uniqueAttributes = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedPurviewObjectId.uniqueAttributes = uniqueAttributes;
+                } else if ("name".equals(fieldName)) {
+                    deserializedPurviewObjectId.name = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    deserializedPurviewObjectId.displayText = reader.getString();
+                } else if ("itemPath".equals(fieldName)) {
+                    deserializedPurviewObjectId.itemPath = reader.getString();
+                } else if ("resourceId".equals(fieldName)) {
+                    deserializedPurviewObjectId.resourceId = reader.getString();
+                } else if ("properties".equals(fieldName)) {
+                    Map properties = reader.readMap(reader1 -> reader1.readUntyped());
+                    deserializedPurviewObjectId.properties = properties;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedPurviewObjectId;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java
index e5d131145f3e..766079f4fac9 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The search query of advanced search request.
  */
 @Fluent
-public final class QueryOptions {
+public final class QueryOptions implements JsonSerializable {
     /*
      * The keywords applied to all searchable fields.
      */
     @Generated
-    @JsonProperty(value = "keywords")
     private String keywords;
 
     /*
@@ -26,7 +29,6 @@ public final class QueryOptions {
      * value is 1000.
      */
     @Generated
-    @JsonProperty(value = "limit")
     private Integer limit;
 
     /*
@@ -34,35 +36,30 @@ public final class QueryOptions {
      * batch, and will return new token in each response unless there's no more data.
      */
     @Generated
-    @JsonProperty(value = "continuationToken")
     private String continuationToken;
 
     /*
      * The sort order of search results, can specify multiple fields.
      */
     @Generated
-    @JsonProperty(value = "orderby")
     private List orderby;
 
     /*
      * The filter for the search. See examples for the usage of supported filters.
      */
     @Generated
-    @JsonProperty(value = "filter")
     private Object filter;
 
     /*
      * The facets for search. See examples for the usage of supported facets.
      */
     @Generated
-    @JsonProperty(value = "facets")
     private List facets;
 
     /*
      * The taxonomy setting for search.
      */
     @Generated
-    @JsonProperty(value = "taxonomySetting")
     private SearchTaxonomySetting taxonomySetting;
 
     /**
@@ -229,4 +226,61 @@ public QueryOptions setTaxonomySetting(SearchTaxonomySetting taxonomySetting) {
         this.taxonomySetting = taxonomySetting;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("keywords", this.keywords);
+        jsonWriter.writeNumberField("limit", this.limit);
+        jsonWriter.writeStringField("continuationToken", this.continuationToken);
+        jsonWriter.writeArrayField("orderby", this.orderby, (writer, element) -> writer.writeUntyped(element));
+        jsonWriter.writeUntypedField("filter", this.filter);
+        jsonWriter.writeArrayField("facets", this.facets, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("taxonomySetting", this.taxonomySetting);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of QueryOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of QueryOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the QueryOptions.
+     */
+    @Generated
+    public static QueryOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            QueryOptions deserializedQueryOptions = new QueryOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("keywords".equals(fieldName)) {
+                    deserializedQueryOptions.keywords = reader.getString();
+                } else if ("limit".equals(fieldName)) {
+                    deserializedQueryOptions.limit = reader.getNullable(JsonReader::getInt);
+                } else if ("continuationToken".equals(fieldName)) {
+                    deserializedQueryOptions.continuationToken = reader.getString();
+                } else if ("orderby".equals(fieldName)) {
+                    List orderby = reader.readArray(reader1 -> reader1.readUntyped());
+                    deserializedQueryOptions.orderby = orderby;
+                } else if ("filter".equals(fieldName)) {
+                    deserializedQueryOptions.filter = reader.readUntyped();
+                } else if ("facets".equals(fieldName)) {
+                    List facets = reader.readArray(reader1 -> SearchFacetItem.fromJson(reader1));
+                    deserializedQueryOptions.facets = facets;
+                } else if ("taxonomySetting".equals(fieldName)) {
+                    deserializedQueryOptions.taxonomySetting = SearchTaxonomySetting.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedQueryOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java
index 7fb476a96dc0..bc56abae66ee 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java
@@ -6,34 +6,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The result of the search result.
  */
 @Immutable
-public final class QueryResult {
+public final class QueryResult implements JsonSerializable {
     /*
      * The total number of search results (not the number of documents in a single
      * page).
      */
     @Generated
-    @JsonProperty(value = "@search.count")
     private Integer searchCount;
 
     /*
      * 'True' if the '@search.count' is an approximate value and vise versa.
      */
     @Generated
-    @JsonProperty(value = "@search.count.approximate")
     private Boolean searchCountApproximate;
 
     /*
      * The token used to get next batch of data. Absent if there's no more data.
      */
     @Generated
-    @JsonProperty(value = "continuationToken")
     private String continuationToken;
 
     /*
@@ -42,14 +43,12 @@ public final class QueryResult {
      * the facet is returned as an element of @search.facets.
      */
     @Generated
-    @JsonProperty(value = "@search.facets")
     private SearchFacetResultValue searchFacets;
 
     /*
      * Search result value
      */
     @Generated
-    @JsonProperty(value = "value")
     private List value;
 
     /**
@@ -71,8 +70,7 @@ public Integer getSearchCount() {
     }
 
     /**
-     * Get the searchCountApproximate property: 'True' if the '@search.count' is an approximate value and vise
-     * versa.
+     * Get the searchCountApproximate property: 'True' if the '@search.count' is an approximate value and vise versa.
      * 
      * @return the searchCountApproximate value.
      */
@@ -112,4 +110,54 @@ public SearchFacetResultValue getSearchFacets() {
     public List getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("@search.count", this.searchCount);
+        jsonWriter.writeBooleanField("@search.count.approximate", this.searchCountApproximate);
+        jsonWriter.writeStringField("continuationToken", this.continuationToken);
+        jsonWriter.writeJsonField("@search.facets", this.searchFacets);
+        jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of QueryResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of QueryResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the QueryResult.
+     */
+    @Generated
+    public static QueryResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            QueryResult deserializedQueryResult = new QueryResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("@search.count".equals(fieldName)) {
+                    deserializedQueryResult.searchCount = reader.getNullable(JsonReader::getInt);
+                } else if ("@search.count.approximate".equals(fieldName)) {
+                    deserializedQueryResult.searchCountApproximate = reader.getNullable(JsonReader::getBoolean);
+                } else if ("continuationToken".equals(fieldName)) {
+                    deserializedQueryResult.continuationToken = reader.getString();
+                } else if ("@search.facets".equals(fieldName)) {
+                    deserializedQueryResult.searchFacets = SearchFacetResultValue.fromJson(reader);
+                } else if ("value".equals(fieldName)) {
+                    List value = reader.readArray(reader1 -> SearchResultValue.fromJson(reader1));
+                    deserializedQueryResult.value = value;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedQueryResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java
index 8017d7226bc2..470852f9694b 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public RelationshipCategory() {
      * @return the corresponding RelationshipCategory.
      */
     @Generated
-    @JsonCreator
     public static RelationshipCategory fromString(String name) {
         return fromString(name, RelationshipCategory.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java
index 348fee24a423..dbe01dd61bcd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * ResourceLink.
  */
 @Fluent
-public final class ResourceLink {
+public final class ResourceLink implements JsonSerializable {
     /*
      * Display name for url.
      */
     @Generated
-    @JsonProperty(value = "displayName")
     private String displayName;
 
     /*
      * web url. http or https
      */
     @Generated
-    @JsonProperty(value = "url")
     private String url;
 
     /**
@@ -77,4 +79,44 @@ public ResourceLink setUrl(String url) {
         this.url = url;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("displayName", this.displayName);
+        jsonWriter.writeStringField("url", this.url);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of ResourceLink from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of ResourceLink if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the ResourceLink.
+     */
+    @Generated
+    public static ResourceLink fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            ResourceLink deserializedResourceLink = new ResourceLink();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("displayName".equals(fieldName)) {
+                    deserializedResourceLink.displayName = reader.getString();
+                } else if ("url".equals(fieldName)) {
+                    deserializedResourceLink.url = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedResourceLink;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java
index c128320f8733..52243ad17a81 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -78,7 +77,6 @@ public RoundingMode() {
      * @return the corresponding RoundingMode.
      */
     @Generated
-    @JsonCreator
     public static RoundingMode fromString(String name) {
         return fromString(name, RoundingMode.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java
index 0a83a22433a9..98fb93542d20 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The content of a search facet result item.
  */
 @Fluent
-public final class SearchFacetItem {
+public final class SearchFacetItem implements JsonSerializable {
     /*
      * The count of the facet item.
      */
     @Generated
-    @JsonProperty(value = "count")
     private Integer count;
 
     /*
      * The name of the facet item.
      */
     @Generated
-    @JsonProperty(value = "facet")
     private String facet;
 
     /*
      * Define the sorting criteria for items
      */
     @Generated
-    @JsonProperty(value = "sort")
     private SearchFacetSort sort;
 
     /**
@@ -106,4 +107,47 @@ public SearchFacetItem setSort(SearchFacetSort sort) {
         this.sort = sort;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("count", this.count);
+        jsonWriter.writeStringField("facet", this.facet);
+        jsonWriter.writeJsonField("sort", this.sort);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetItem from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetItem.
+     */
+    @Generated
+    public static SearchFacetItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetItem deserializedSearchFacetItem = new SearchFacetItem();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    deserializedSearchFacetItem.count = reader.getNullable(JsonReader::getInt);
+                } else if ("facet".equals(fieldName)) {
+                    deserializedSearchFacetItem.facet = reader.getString();
+                } else if ("sort".equals(fieldName)) {
+                    deserializedSearchFacetItem.sort = SearchFacetSort.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetItem;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java
index a4984ae96d32..e75c18d991f2 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The content of a search facet result item.
  */
 @Immutable
-public final class SearchFacetItemValue {
+public final class SearchFacetItemValue implements JsonSerializable {
     /*
      * The count of the facet item.
      */
     @Generated
-    @JsonProperty(value = "count")
     private Integer count;
 
     /*
      * The name of the facet item.
      */
     @Generated
-    @JsonProperty(value = "value")
     private String value;
 
     /**
@@ -53,4 +55,44 @@ public Integer getCount() {
     public String getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("count", this.count);
+        jsonWriter.writeStringField("value", this.value);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetItemValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetItemValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetItemValue.
+     */
+    @Generated
+    public static SearchFacetItemValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetItemValue deserializedSearchFacetItemValue = new SearchFacetItemValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    deserializedSearchFacetItemValue.count = reader.getNullable(JsonReader::getInt);
+                } else if ("value".equals(fieldName)) {
+                    deserializedSearchFacetItemValue.value = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetItemValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java
index bde250a05610..ede1d736a91e 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,75 +19,65 @@
  * the facet is returned as an element of @search.facets.
  */
 @Immutable
-public final class SearchFacetResultValue {
+public final class SearchFacetResultValue implements JsonSerializable {
     /*
      * Entity type
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private List entityType;
 
     /*
      * Asset type
      */
     @Generated
-    @JsonProperty(value = "assetType")
     private List assetType;
 
     /*
      * Classification
      */
     @Generated
-    @JsonProperty(value = "classification")
     private List classification;
 
     /*
      * Term
      */
     @Generated
-    @JsonProperty(value = "term")
     private List term;
 
     /*
      * Contact id
      */
     @Generated
-    @JsonProperty(value = "contactId")
     private List contactId;
 
     /*
      * Contact type
      */
     @Generated
-    @JsonProperty(value = "contactType")
     private List contactType;
 
     /*
      * Label
      */
     @Generated
-    @JsonProperty(value = "label")
     private List label;
 
     /*
      * Glossary type
      */
     @Generated
-    @JsonProperty(value = "glossaryType")
     private List glossaryType;
 
     /*
      * Term status
      */
     @Generated
-    @JsonProperty(value = "termStatus")
     private List termStatus;
 
     /*
      * Term template
      */
     @Generated
-    @JsonProperty(value = "termTemplate")
     private List termTemplate;
 
     /**
@@ -192,4 +186,89 @@ public List getTermStatus() {
     public List getTermTemplate() {
         return this.termTemplate;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("entityType", this.entityType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("assetType", this.assetType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("classification", this.classification,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("term", this.term, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contactId", this.contactId, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contactType", this.contactType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("label", this.label, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("glossaryType", this.glossaryType, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("termStatus", this.termStatus, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("termTemplate", this.termTemplate, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetResultValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetResultValue.
+     */
+    @Generated
+    public static SearchFacetResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetResultValue deserializedSearchFacetResultValue = new SearchFacetResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("entityType".equals(fieldName)) {
+                    List entityType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.entityType = entityType;
+                } else if ("assetType".equals(fieldName)) {
+                    List assetType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.assetType = assetType;
+                } else if ("classification".equals(fieldName)) {
+                    List classification
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.classification = classification;
+                } else if ("term".equals(fieldName)) {
+                    List term
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.term = term;
+                } else if ("contactId".equals(fieldName)) {
+                    List contactId
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.contactId = contactId;
+                } else if ("contactType".equals(fieldName)) {
+                    List contactType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.contactType = contactType;
+                } else if ("label".equals(fieldName)) {
+                    List label
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.label = label;
+                } else if ("glossaryType".equals(fieldName)) {
+                    List glossaryType
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.glossaryType = glossaryType;
+                } else if ("termStatus".equals(fieldName)) {
+                    List termStatus
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.termStatus = termStatus;
+                } else if ("termTemplate".equals(fieldName)) {
+                    List termTemplate
+                        = reader.readArray(reader1 -> SearchFacetItemValue.fromJson(reader1));
+                    deserializedSearchFacetResultValue.termTemplate = termTemplate;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java
index 4a9b71d141bb..68d7940c5308 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java
@@ -6,25 +6,27 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The sorting criteria.
  */
 @Fluent
-public final class SearchFacetSort {
+public final class SearchFacetSort implements JsonSerializable {
     /*
      * Order by count
      */
     @Generated
-    @JsonProperty(value = "count")
     private SearchSortOrder count;
 
     /*
      * Order by value
      */
     @Generated
-    @JsonProperty(value = "value")
     private SearchSortOrder value;
 
     /**
@@ -77,4 +79,44 @@ public SearchFacetSort setValue(SearchSortOrder value) {
         this.value = value;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("count", this.count == null ? null : this.count.toString());
+        jsonWriter.writeStringField("value", this.value == null ? null : this.value.toString());
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchFacetSort from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchFacetSort if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchFacetSort.
+     */
+    @Generated
+    public static SearchFacetSort fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchFacetSort deserializedSearchFacetSort = new SearchFacetSort();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("count".equals(fieldName)) {
+                    deserializedSearchFacetSort.count = SearchSortOrder.fromString(reader.getString());
+                } else if ("value".equals(fieldName)) {
+                    deserializedSearchFacetSort.value = SearchSortOrder.fromString(reader.getString());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchFacetSort;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java
index 18ae9fed05b5..d241b25192f8 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -16,40 +20,35 @@
  * @search.highlights.
  */
 @Immutable
-public final class SearchHighlights {
+public final class SearchHighlights implements JsonSerializable {
     /*
      * Id
      */
     @Generated
-    @JsonProperty(value = "id")
     private List id;
 
     /*
      * Qualified name
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private List qualifiedName;
 
     /*
      * Name
      */
     @Generated
-    @JsonProperty(value = "name")
     private List name;
 
     /*
      * Description
      */
     @Generated
-    @JsonProperty(value = "description")
     private List description;
 
     /*
      * Entity type
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private List entityType;
 
     /**
@@ -108,4 +107,59 @@ public List getDescription() {
     public List getEntityType() {
         return this.entityType;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("id", this.id, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("qualifiedName", this.qualifiedName,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("name", this.name, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("description", this.description, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("entityType", this.entityType, (writer, element) -> writer.writeString(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchHighlights from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchHighlights if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchHighlights.
+     */
+    @Generated
+    public static SearchHighlights fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchHighlights deserializedSearchHighlights = new SearchHighlights();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("id".equals(fieldName)) {
+                    List id = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.id = id;
+                } else if ("qualifiedName".equals(fieldName)) {
+                    List qualifiedName = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.qualifiedName = qualifiedName;
+                } else if ("name".equals(fieldName)) {
+                    List name = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.name = name;
+                } else if ("description".equals(fieldName)) {
+                    List description = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.description = description;
+                } else if ("entityType".equals(fieldName)) {
+                    List entityType = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchHighlights.entityType = entityType;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchHighlights;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java
index 648b5f19a00b..1bfb6adf12ca 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java
@@ -6,31 +6,32 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The value item of the search result.
  */
 @Immutable
-public final class SearchResultValue {
+public final class SearchResultValue implements JsonSerializable {
     /*
      * The search score calculated by the search engine. The results are ordered by
      * search score by default.
      */
     @Generated
-    @JsonProperty(value = "@search.score")
     private Double searchScore;
 
     /*
      * A highlight list that consists of index fields id ,qualifiedName, name,
      * description, entityType. When the keyword appears in those fields, the value of
      * the field, attached with emphasis mark, is returned as an element of
-     * 
      * @search.highlights.
      */
     @Generated
-    @JsonProperty(value = "@search.highlights")
     private SearchHighlights searchHighlights;
 
     /*
@@ -38,105 +39,90 @@ public final class SearchResultValue {
      * distinguish whether a record is an asset or a term.
      */
     @Generated
-    @JsonProperty(value = "objectType")
     private String objectType;
 
     /*
      * The create time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The last update time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The GUID of the record.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * The name of the record.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the record.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The type name of the asset.
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private String entityType;
 
     /*
      * The description of the asset.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The endorsement of the asset.
      */
     @Generated
-    @JsonProperty(value = "endorsement")
     private String endorsement;
 
     /*
      * The owner of the record.
      */
     @Generated
-    @JsonProperty(value = "owner")
     private String owner;
 
     /*
      * The classifications of the record.
      */
     @Generated
-    @JsonProperty(value = "classification")
     private List classification;
 
     /*
      * The labels of the asset.
      */
     @Generated
-    @JsonProperty(value = "label")
     private List label;
 
     /*
      * The terms assigned to the asset.
      */
     @Generated
-    @JsonProperty(value = "term")
     private List term;
 
     /*
      * The contacts of the asset.
      */
     @Generated
-    @JsonProperty(value = "contact")
     private List contact;
 
     /*
      * The asset types of the asset.
      */
     @Generated
-    @JsonProperty(value = "assetType")
     private List assetType;
 
     /*
@@ -144,35 +130,30 @@ public final class SearchResultValue {
      * AtlasGlossaryCategory.
      */
     @Generated
-    @JsonProperty(value = "glossaryType")
     private String glossaryType;
 
     /*
      * The glossary name of the term.
      */
     @Generated
-    @JsonProperty(value = "glossary")
     private String glossary;
 
     /*
      * The status of the term.
      */
     @Generated
-    @JsonProperty(value = "termStatus")
     private String termStatus;
 
     /*
      * The term template names used by the term.
      */
     @Generated
-    @JsonProperty(value = "termTemplate")
     private List termTemplate;
 
     /*
      * The definition of the term.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /**
@@ -407,4 +388,113 @@ public List getTermTemplate() {
     public String getLongDescription() {
         return this.longDescription;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("@search.score", this.searchScore);
+        jsonWriter.writeJsonField("@search.highlights", this.searchHighlights);
+        jsonWriter.writeStringField("objectType", this.objectType);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("entityType", this.entityType);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("endorsement", this.endorsement);
+        jsonWriter.writeStringField("owner", this.owner);
+        jsonWriter.writeArrayField("classification", this.classification,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("label", this.label, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("term", this.term, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contact", this.contact, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("assetType", this.assetType, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("glossaryType", this.glossaryType);
+        jsonWriter.writeStringField("glossary", this.glossary);
+        jsonWriter.writeStringField("termStatus", this.termStatus);
+        jsonWriter.writeArrayField("termTemplate", this.termTemplate, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchResultValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchResultValue.
+     */
+    @Generated
+    public static SearchResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchResultValue deserializedSearchResultValue = new SearchResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("@search.score".equals(fieldName)) {
+                    deserializedSearchResultValue.searchScore = reader.getNullable(JsonReader::getDouble);
+                } else if ("@search.highlights".equals(fieldName)) {
+                    deserializedSearchResultValue.searchHighlights = SearchHighlights.fromJson(reader);
+                } else if ("objectType".equals(fieldName)) {
+                    deserializedSearchResultValue.objectType = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedSearchResultValue.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedSearchResultValue.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("id".equals(fieldName)) {
+                    deserializedSearchResultValue.id = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedSearchResultValue.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedSearchResultValue.qualifiedName = reader.getString();
+                } else if ("entityType".equals(fieldName)) {
+                    deserializedSearchResultValue.entityType = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedSearchResultValue.description = reader.getString();
+                } else if ("endorsement".equals(fieldName)) {
+                    deserializedSearchResultValue.endorsement = reader.getString();
+                } else if ("owner".equals(fieldName)) {
+                    deserializedSearchResultValue.owner = reader.getString();
+                } else if ("classification".equals(fieldName)) {
+                    List classification = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.classification = classification;
+                } else if ("label".equals(fieldName)) {
+                    List label = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.label = label;
+                } else if ("term".equals(fieldName)) {
+                    List term
+                        = reader.readArray(reader1 -> TermSearchResultValue.fromJson(reader1));
+                    deserializedSearchResultValue.term = term;
+                } else if ("contact".equals(fieldName)) {
+                    List contact
+                        = reader.readArray(reader1 -> ContactSearchResultValue.fromJson(reader1));
+                    deserializedSearchResultValue.contact = contact;
+                } else if ("assetType".equals(fieldName)) {
+                    List assetType = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.assetType = assetType;
+                } else if ("glossaryType".equals(fieldName)) {
+                    deserializedSearchResultValue.glossaryType = reader.getString();
+                } else if ("glossary".equals(fieldName)) {
+                    deserializedSearchResultValue.glossary = reader.getString();
+                } else if ("termStatus".equals(fieldName)) {
+                    deserializedSearchResultValue.termStatus = reader.getString();
+                } else if ("termTemplate".equals(fieldName)) {
+                    List termTemplate = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchResultValue.termTemplate = termTemplate;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedSearchResultValue.longDescription = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java
index 573b991475c3..ddb8e738a525 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public SearchSortOrder() {
      * @return the corresponding SearchSortOrder.
      */
     @Generated
-    @JsonCreator
     public static SearchSortOrder fromString(String name) {
         return fromString(name, SearchSortOrder.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java
index f5c95dd944f4..d60b030d38dd 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java
@@ -6,26 +6,28 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Taxonomy setting for search request.
  */
 @Fluent
-public final class SearchTaxonomySetting {
+public final class SearchTaxonomySetting implements JsonSerializable {
     /*
      * Asset types
      */
     @Generated
-    @JsonProperty(value = "assetTypes")
     private List assetTypes;
 
     /*
      * The content of a search facet result item.
      */
     @Generated
-    @JsonProperty(value = "facet")
     private SearchFacetItem facet;
 
     /**
@@ -78,4 +80,45 @@ public SearchTaxonomySetting setFacet(SearchFacetItem facet) {
         this.facet = facet;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("assetTypes", this.assetTypes, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("facet", this.facet);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SearchTaxonomySetting from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SearchTaxonomySetting if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SearchTaxonomySetting.
+     */
+    @Generated
+    public static SearchTaxonomySetting fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SearchTaxonomySetting deserializedSearchTaxonomySetting = new SearchTaxonomySetting();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("assetTypes".equals(fieldName)) {
+                    List assetTypes = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSearchTaxonomySetting.assetTypes = assetTypes;
+                } else if ("facet".equals(fieldName)) {
+                    deserializedSearchTaxonomySetting.facet = SearchFacetItem.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSearchTaxonomySetting;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java
index 837a2a5d2eab..eacf8a04dda8 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public SortType() {
      * @return the corresponding SortType.
      */
     @Generated
-    @JsonCreator
     public static SortType fromString(String name) {
         return fromString(name, SortType.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java
index f622e0847f1f..4d8d5248ad48 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public StatusAtlasRelationship() {
      * @return the corresponding StatusAtlasRelationship.
      */
     @Generated
-    @JsonCreator
     public static StatusAtlasRelationship fromString(String name) {
         return fromString(name, StatusAtlasRelationship.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java
index 1cd15cd59c25..3eec27c0a9f4 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java
@@ -6,13 +6,17 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The payload of suggest request.
  */
 @Fluent
-public final class SuggestOptions {
+public final class SuggestOptions implements JsonSerializable {
     /*
      * The keywords applied to all fields that support suggest operation. It must be
      * at least 1 character, and no more than 100 characters. In the index schema we
@@ -20,7 +24,6 @@ public final class SuggestOptions {
      * a search mode.
      */
     @Generated
-    @JsonProperty(value = "keywords")
     private String keywords;
 
     /*
@@ -28,14 +31,12 @@ public final class SuggestOptions {
      * must be a number between 1 and 100.
      */
     @Generated
-    @JsonProperty(value = "limit")
     private Integer limit;
 
     /*
      * The filter for the search.
      */
     @Generated
-    @JsonProperty(value = "filter")
     private Object filter;
 
     /**
@@ -118,4 +119,47 @@ public SuggestOptions setFilter(Object filter) {
         this.filter = filter;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("keywords", this.keywords);
+        jsonWriter.writeNumberField("limit", this.limit);
+        jsonWriter.writeUntypedField("filter", this.filter);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SuggestOptions from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SuggestOptions if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SuggestOptions.
+     */
+    @Generated
+    public static SuggestOptions fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SuggestOptions deserializedSuggestOptions = new SuggestOptions();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("keywords".equals(fieldName)) {
+                    deserializedSuggestOptions.keywords = reader.getString();
+                } else if ("limit".equals(fieldName)) {
+                    deserializedSuggestOptions.limit = reader.getNullable(JsonReader::getInt);
+                } else if ("filter".equals(fieldName)) {
+                    deserializedSuggestOptions.filter = reader.readUntyped();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSuggestOptions;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java
index 44ed4f230eb9..e93108c38500 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java
@@ -6,19 +6,22 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The result item of the search suggest.
  */
 @Immutable
-public final class SuggestResult {
+public final class SuggestResult implements JsonSerializable {
     /*
      * The result value
      */
     @Generated
-    @JsonProperty(value = "value")
     private List value;
 
     /**
@@ -37,4 +40,42 @@ private SuggestResult() {
     public List getValue() {
         return this.value;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SuggestResult from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SuggestResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SuggestResult.
+     */
+    @Generated
+    public static SuggestResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SuggestResult deserializedSuggestResult = new SuggestResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("value".equals(fieldName)) {
+                    List value = reader.readArray(reader1 -> SuggestResultValue.fromJson(reader1));
+                    deserializedSuggestResult.value = value;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSuggestResult;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java
index 45b4f1f21527..cb5d1be47196 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java
@@ -6,20 +6,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The value item of the search suggest.
  */
 @Immutable
-public final class SuggestResultValue {
+public final class SuggestResultValue implements JsonSerializable {
     /*
      * The search score calculated by the search engine. The results are ordered by
      * search score by default.
      */
     @Generated
-    @JsonProperty(value = "@search.score")
     private Double searchScore;
 
     /*
@@ -27,7 +30,6 @@ public final class SuggestResultValue {
      * with emphasis mark.
      */
     @Generated
-    @JsonProperty(value = "@search.text")
     private String searchText;
 
     /*
@@ -35,105 +37,90 @@ public final class SuggestResultValue {
      * distinguish whether a record is an asset or a term.
      */
     @Generated
-    @JsonProperty(value = "objectType")
     private String objectType;
 
     /*
      * The create time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The last update time of the record. The Unix epoch format.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The GUID of the record.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * The name of the record.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The qualified name of the record.
      */
     @Generated
-    @JsonProperty(value = "qualifiedName")
     private String qualifiedName;
 
     /*
      * The type name of the asset.
      */
     @Generated
-    @JsonProperty(value = "entityType")
     private String entityType;
 
     /*
      * The description of the asset.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The endorsement of the asset.
      */
     @Generated
-    @JsonProperty(value = "endorsement")
     private String endorsement;
 
     /*
      * The owner of the record.
      */
     @Generated
-    @JsonProperty(value = "owner")
     private String owner;
 
     /*
      * The classifications of the record.
      */
     @Generated
-    @JsonProperty(value = "classification")
     private List classification;
 
     /*
      * The labels of the asset.
      */
     @Generated
-    @JsonProperty(value = "label")
     private List label;
 
     /*
      * The terms assigned to the asset.
      */
     @Generated
-    @JsonProperty(value = "term")
     private List term;
 
     /*
      * The contacts of the asset.
      */
     @Generated
-    @JsonProperty(value = "contact")
     private List contact;
 
     /*
      * The asset types of the asset.
      */
     @Generated
-    @JsonProperty(value = "assetType")
     private List assetType;
 
     /*
@@ -141,35 +128,30 @@ public final class SuggestResultValue {
      * AtlasGlossaryCategory.
      */
     @Generated
-    @JsonProperty(value = "glossaryType")
     private String glossaryType;
 
     /*
      * The glossary name of the term.
      */
     @Generated
-    @JsonProperty(value = "glossary")
     private String glossary;
 
     /*
      * The status of the term.
      */
     @Generated
-    @JsonProperty(value = "termStatus")
     private String termStatus;
 
     /*
      * The term template names used by the term.
      */
     @Generated
-    @JsonProperty(value = "termTemplate")
     private List termTemplate;
 
     /*
      * The definition of the term.
      */
     @Generated
-    @JsonProperty(value = "longDescription")
     private String longDescription;
 
     /**
@@ -402,4 +384,113 @@ public List getTermTemplate() {
     public String getLongDescription() {
         return this.longDescription;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("@search.score", this.searchScore);
+        jsonWriter.writeStringField("@search.text", this.searchText);
+        jsonWriter.writeStringField("objectType", this.objectType);
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("qualifiedName", this.qualifiedName);
+        jsonWriter.writeStringField("entityType", this.entityType);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("endorsement", this.endorsement);
+        jsonWriter.writeStringField("owner", this.owner);
+        jsonWriter.writeArrayField("classification", this.classification,
+            (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("label", this.label, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeArrayField("term", this.term, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("contact", this.contact, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeArrayField("assetType", this.assetType, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("glossaryType", this.glossaryType);
+        jsonWriter.writeStringField("glossary", this.glossary);
+        jsonWriter.writeStringField("termStatus", this.termStatus);
+        jsonWriter.writeArrayField("termTemplate", this.termTemplate, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("longDescription", this.longDescription);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SuggestResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SuggestResultValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the SuggestResultValue.
+     */
+    @Generated
+    public static SuggestResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            SuggestResultValue deserializedSuggestResultValue = new SuggestResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("@search.score".equals(fieldName)) {
+                    deserializedSuggestResultValue.searchScore = reader.getNullable(JsonReader::getDouble);
+                } else if ("@search.text".equals(fieldName)) {
+                    deserializedSuggestResultValue.searchText = reader.getString();
+                } else if ("objectType".equals(fieldName)) {
+                    deserializedSuggestResultValue.objectType = reader.getString();
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedSuggestResultValue.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedSuggestResultValue.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("id".equals(fieldName)) {
+                    deserializedSuggestResultValue.id = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedSuggestResultValue.name = reader.getString();
+                } else if ("qualifiedName".equals(fieldName)) {
+                    deserializedSuggestResultValue.qualifiedName = reader.getString();
+                } else if ("entityType".equals(fieldName)) {
+                    deserializedSuggestResultValue.entityType = reader.getString();
+                } else if ("description".equals(fieldName)) {
+                    deserializedSuggestResultValue.description = reader.getString();
+                } else if ("endorsement".equals(fieldName)) {
+                    deserializedSuggestResultValue.endorsement = reader.getString();
+                } else if ("owner".equals(fieldName)) {
+                    deserializedSuggestResultValue.owner = reader.getString();
+                } else if ("classification".equals(fieldName)) {
+                    List classification = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.classification = classification;
+                } else if ("label".equals(fieldName)) {
+                    List label = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.label = label;
+                } else if ("term".equals(fieldName)) {
+                    List term
+                        = reader.readArray(reader1 -> TermSearchResultValue.fromJson(reader1));
+                    deserializedSuggestResultValue.term = term;
+                } else if ("contact".equals(fieldName)) {
+                    List contact
+                        = reader.readArray(reader1 -> ContactSearchResultValue.fromJson(reader1));
+                    deserializedSuggestResultValue.contact = contact;
+                } else if ("assetType".equals(fieldName)) {
+                    List assetType = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.assetType = assetType;
+                } else if ("glossaryType".equals(fieldName)) {
+                    deserializedSuggestResultValue.glossaryType = reader.getString();
+                } else if ("glossary".equals(fieldName)) {
+                    deserializedSuggestResultValue.glossary = reader.getString();
+                } else if ("termStatus".equals(fieldName)) {
+                    deserializedSuggestResultValue.termStatus = reader.getString();
+                } else if ("termTemplate".equals(fieldName)) {
+                    List termTemplate = reader.readArray(reader1 -> reader1.getString());
+                    deserializedSuggestResultValue.termTemplate = termTemplate;
+                } else if ("longDescription".equals(fieldName)) {
+                    deserializedSuggestResultValue.longDescription = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedSuggestResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java
index 87675f2980b7..222b65f8c60f 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The context.
  */
 @Immutable
-public final class TermSearchResultValue {
+public final class TermSearchResultValue implements JsonSerializable {
     /*
      * The name of the term.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The name of the glossary which contains the term.
      */
     @Generated
-    @JsonProperty(value = "glossaryName")
     private String glossaryName;
 
     /*
      * The GUID of the term.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /**
@@ -70,4 +71,47 @@ public String getGlossaryName() {
     public String getGuid() {
         return this.guid;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("glossaryName", this.glossaryName);
+        jsonWriter.writeStringField("guid", this.guid);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TermSearchResultValue from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TermSearchResultValue if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TermSearchResultValue.
+     */
+    @Generated
+    public static TermSearchResultValue fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TermSearchResultValue deserializedTermSearchResultValue = new TermSearchResultValue();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("name".equals(fieldName)) {
+                    deserializedTermSearchResultValue.name = reader.getString();
+                } else if ("glossaryName".equals(fieldName)) {
+                    deserializedTermSearchResultValue.glossaryName = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedTermSearchResultValue.guid = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTermSearchResultValue;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java
index 68d29b7d247f..047187bd4083 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -54,7 +53,6 @@ public TermStatus() {
      * @return the corresponding TermStatus.
      */
     @Generated
-    @JsonCreator
     public static TermStatus fromString(String name) {
         return fromString(name, TermStatus.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java
index 426f0574942c..e61f0577680a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java
@@ -6,7 +6,11 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 import java.util.Map;
 
@@ -14,110 +18,95 @@
  * Term template definition for glossary term.
  */
 @Fluent
-public final class TermTemplateDef {
+public final class TermTemplateDef implements JsonSerializable {
     /*
      * The enum of type category.
      */
     @Generated
-    @JsonProperty(value = "category")
     private TypeCategory category;
 
     /*
      * The created time of the record.
      */
     @Generated
-    @JsonProperty(value = "createTime")
     private Long createTime;
 
     /*
      * The user who created the record.
      */
     @Generated
-    @JsonProperty(value = "createdBy")
     private String createdBy;
 
     /*
      * The date format.
      */
     @Generated
-    @JsonProperty(value = "dateFormatter")
     private DateFormat dateFormatter;
 
     /*
      * The description of the type definition.
      */
     @Generated
-    @JsonProperty(value = "description")
     private String description;
 
     /*
      * The GUID of the type definition.
      */
     @Generated
-    @JsonProperty(value = "guid")
     private String guid;
 
     /*
      * The name of the type definition.
      */
     @Generated
-    @JsonProperty(value = "name")
     private String name;
 
     /*
      * The options for the type definition.
      */
     @Generated
-    @JsonProperty(value = "options")
     private Map options;
 
     /*
      * The service type.
      */
     @Generated
-    @JsonProperty(value = "serviceType")
     private String serviceType;
 
     /*
      * The version of the type.
      */
     @Generated
-    @JsonProperty(value = "typeVersion")
     private String typeVersion;
 
     /*
      * The update time of the record.
      */
     @Generated
-    @JsonProperty(value = "updateTime")
     private Long updateTime;
 
     /*
      * The user who updated the record.
      */
     @Generated
-    @JsonProperty(value = "updatedBy")
     private String updatedBy;
 
     /*
      * The version of the record.
      */
     @Generated
-    @JsonProperty(value = "version")
     private Long version;
 
     /*
      * ETag for concurrency control.
      */
     @Generated
-    @JsonProperty(value = "lastModifiedTS")
     private String lastModifiedTS;
 
     /*
      * An array of attribute definitions.
      */
     @Generated
-    @JsonProperty(value = "attributeDefs")
     private List attributeDefs;
 
     /**
@@ -456,4 +445,86 @@ public TermTemplateDef setAttributeDefs(List attributeDefs) {
         this.attributeDefs = attributeDefs;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("category", this.category == null ? null : this.category.toString());
+        jsonWriter.writeNumberField("createTime", this.createTime);
+        jsonWriter.writeStringField("createdBy", this.createdBy);
+        jsonWriter.writeJsonField("dateFormatter", this.dateFormatter);
+        jsonWriter.writeStringField("description", this.description);
+        jsonWriter.writeStringField("guid", this.guid);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeMapField("options", this.options, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeStringField("serviceType", this.serviceType);
+        jsonWriter.writeStringField("typeVersion", this.typeVersion);
+        jsonWriter.writeNumberField("updateTime", this.updateTime);
+        jsonWriter.writeStringField("updatedBy", this.updatedBy);
+        jsonWriter.writeNumberField("version", this.version);
+        jsonWriter.writeStringField("lastModifiedTS", this.lastModifiedTS);
+        jsonWriter.writeArrayField("attributeDefs", this.attributeDefs, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TermTemplateDef from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TermTemplateDef if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TermTemplateDef.
+     */
+    @Generated
+    public static TermTemplateDef fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TermTemplateDef deserializedTermTemplateDef = new TermTemplateDef();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("category".equals(fieldName)) {
+                    deserializedTermTemplateDef.category = TypeCategory.fromString(reader.getString());
+                } else if ("createTime".equals(fieldName)) {
+                    deserializedTermTemplateDef.createTime = reader.getNullable(JsonReader::getLong);
+                } else if ("createdBy".equals(fieldName)) {
+                    deserializedTermTemplateDef.createdBy = reader.getString();
+                } else if ("dateFormatter".equals(fieldName)) {
+                    deserializedTermTemplateDef.dateFormatter = DateFormat.fromJson(reader);
+                } else if ("description".equals(fieldName)) {
+                    deserializedTermTemplateDef.description = reader.getString();
+                } else if ("guid".equals(fieldName)) {
+                    deserializedTermTemplateDef.guid = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    deserializedTermTemplateDef.name = reader.getString();
+                } else if ("options".equals(fieldName)) {
+                    Map options = reader.readMap(reader1 -> reader1.getString());
+                    deserializedTermTemplateDef.options = options;
+                } else if ("serviceType".equals(fieldName)) {
+                    deserializedTermTemplateDef.serviceType = reader.getString();
+                } else if ("typeVersion".equals(fieldName)) {
+                    deserializedTermTemplateDef.typeVersion = reader.getString();
+                } else if ("updateTime".equals(fieldName)) {
+                    deserializedTermTemplateDef.updateTime = reader.getNullable(JsonReader::getLong);
+                } else if ("updatedBy".equals(fieldName)) {
+                    deserializedTermTemplateDef.updatedBy = reader.getString();
+                } else if ("version".equals(fieldName)) {
+                    deserializedTermTemplateDef.version = reader.getNullable(JsonReader::getLong);
+                } else if ("lastModifiedTS".equals(fieldName)) {
+                    deserializedTermTemplateDef.lastModifiedTS = reader.getString();
+                } else if ("attributeDefs".equals(fieldName)) {
+                    List attributeDefs
+                        = reader.readArray(reader1 -> AtlasAttributeDef.fromJson(reader1));
+                    deserializedTermTemplateDef.attributeDefs = attributeDefs;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTermTemplateDef;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java
index c2d8d9f5c787..ca806a661350 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java
@@ -6,32 +6,33 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Captures time-boundary details.
  */
 @Fluent
-public final class TimeBoundary {
+public final class TimeBoundary implements JsonSerializable {
     /*
      * The end of the time boundary.
      */
     @Generated
-    @JsonProperty(value = "endTime")
     private String endTime;
 
     /*
      * The start of the time boundary.
      */
     @Generated
-    @JsonProperty(value = "startTime")
     private String startTime;
 
     /*
      * The timezone of the time boundary.
      */
     @Generated
-    @JsonProperty(value = "timeZone")
     private String timeZone;
 
     /**
@@ -106,4 +107,47 @@ public TimeBoundary setTimeZone(String timeZone) {
         this.timeZone = timeZone;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("endTime", this.endTime);
+        jsonWriter.writeStringField("startTime", this.startTime);
+        jsonWriter.writeStringField("timeZone", this.timeZone);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TimeBoundary from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TimeBoundary if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TimeBoundary.
+     */
+    @Generated
+    public static TimeBoundary fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TimeBoundary deserializedTimeBoundary = new TimeBoundary();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("endTime".equals(fieldName)) {
+                    deserializedTimeBoundary.endTime = reader.getString();
+                } else if ("startTime".equals(fieldName)) {
+                    deserializedTimeBoundary.startTime = reader.getString();
+                } else if ("timeZone".equals(fieldName)) {
+                    deserializedTimeBoundary.timeZone = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTimeBoundary;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java
index 92de8ea4c710..8e3263e6a838 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java
@@ -6,54 +6,52 @@
 
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * The timezone information.
  */
 @Fluent
-public final class TimeZone {
+public final class TimeZone implements JsonSerializable {
     /*
      * The value of the daylight saving time.
      */
     @Generated
-    @JsonProperty(value = "dstSavings")
     private Integer dstSavings;
 
     /*
      * The ID of the timezone.
      */
     @Generated
-    @JsonProperty(value = "id")
     private String id;
 
     /*
      * An array of available IDs.
      */
     @Generated
-    @JsonProperty(value = "availableIds")
     private List availableIds;
 
     /*
      * The timezone information.
      */
     @Generated
-    @JsonProperty(value = "default")
     private TimeZone defaultProperty;
 
     /*
      * The display name of the timezone.
      */
     @Generated
-    @JsonProperty(value = "displayName")
     private String displayName;
 
     /*
      * The raw offset of the timezone.
      */
     @Generated
-    @JsonProperty(value = "rawOffset")
     private Integer rawOffset;
 
     /**
@@ -194,4 +192,57 @@ public TimeZone setRawOffset(Integer rawOffset) {
         this.rawOffset = rawOffset;
         return this;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeNumberField("dstSavings", this.dstSavings);
+        jsonWriter.writeStringField("id", this.id);
+        jsonWriter.writeArrayField("availableIds", this.availableIds, (writer, element) -> writer.writeString(element));
+        jsonWriter.writeJsonField("default", this.defaultProperty);
+        jsonWriter.writeStringField("displayName", this.displayName);
+        jsonWriter.writeNumberField("rawOffset", this.rawOffset);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TimeZone from the JsonReader.
+     * 
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TimeZone if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the TimeZone.
+     */
+    @Generated
+    public static TimeZone fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            TimeZone deserializedTimeZone = new TimeZone();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+
+                if ("dstSavings".equals(fieldName)) {
+                    deserializedTimeZone.dstSavings = reader.getNullable(JsonReader::getInt);
+                } else if ("id".equals(fieldName)) {
+                    deserializedTimeZone.id = reader.getString();
+                } else if ("availableIds".equals(fieldName)) {
+                    List availableIds = reader.readArray(reader1 -> reader1.getString());
+                    deserializedTimeZone.availableIds = availableIds;
+                } else if ("default".equals(fieldName)) {
+                    deserializedTimeZone.defaultProperty = TimeZone.fromJson(reader);
+                } else if ("displayName".equals(fieldName)) {
+                    deserializedTimeZone.displayName = reader.getString();
+                } else if ("rawOffset".equals(fieldName)) {
+                    deserializedTimeZone.rawOffset = reader.getNullable(JsonReader::getInt);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+
+            return deserializedTimeZone;
+        });
+    }
 }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java
index d1e9080ebc23..57be21099b0a 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java
@@ -6,7 +6,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -90,7 +89,6 @@ public TypeCategory() {
      * @return the corresponding TypeCategory.
      */
     @Generated
-    @JsonCreator
     public static TypeCategory fromString(String name) {
         return fromString(name, TypeCategory.class);
     }
diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java
index 502b0da6e9dc..1823805e11f7 100644
--- a/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java
+++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java
@@ -4,7 +4,8 @@
 
 module com.azure.analytics.purview.datamap {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.analytics.purview.datamap;
     exports com.azure.analytics.purview.datamap.models;
-    opens com.azure.analytics.purview.datamap.models to com.azure.core, com.fasterxml.jackson.databind;
+    opens com.azure.analytics.purview.datamap.models to com.azure.core;
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java
index 3ee6ee99b6d5..2b19a7d33ac0 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationAsyncClient.java
@@ -53,70 +53,33 @@ public final class TextTranslationAsyncClient {
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. * If no scope is given, then all groups are returned, which is equivalent to passing * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * - * - * - * - * - * - * + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or * names of regions. Use this parameter to define the language in which these names are returned. * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     translation (Optional): {
@@ -171,8 +134,7 @@ public final class TextTranslationAsyncClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the set of languages currently supported by other operations of the Translator along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return the set of languages currently supported by other operations of the Translator along with {@link Response} on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -182,128 +144,52 @@ public Mono> getLanguagesWithResponse(RequestOptions reques
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies 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. * * allowFallback=false specifies that the translation should only use systems trained for the category specified * by the request. If a translation for language X to language Y requires chaining through a pivot language E, * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -311,9 +197,7 @@ public Mono> getLanguagesWithResponse(RequestOptions reques
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -349,8 +233,7 @@ public Mono> getLanguagesWithResponse(RequestOptions reques
      * ]
      * }
* - * @param to Specifies the language of the output text. The target language must be one of the supported languages - * included + * @param to Specifies the language of the output text. The target language must be one of the supported languages included * in the translation scope. For example, use to=de to translate to German. * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. * For example, use to=de&to=it to translate to German and Italian. @@ -371,28 +254,14 @@ public Mono> translateWithResponse(List to, BinaryD /** * Transliterate Text. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -400,9 +269,7 @@ public Mono> translateWithResponse(List to, BinaryD
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -415,11 +282,9 @@ public Mono> translateWithResponse(List to, BinaryD
      * @param language Specifies the language of the text to convert from one script to another.
      * Possible languages are listed in the transliteration scope obtained by querying the service
      * for its supported languages.
-     * @param fromScript Specifies the script used by the input text. Look up supported languages using the
-     * transliteration scope,
+     * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope,
      * to find input scripts available for the selected language.
-     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find
-     * output
+     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output
      * scripts available for the selected combination of input language and input script.
      * @param requestBody Defines the content of the request.
      * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -439,55 +304,24 @@ public Mono> transliterateWithResponse(String language, Str
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -495,9 +329,7 @@ public Mono> transliterateWithResponse(String language, Str
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -529,28 +361,14 @@ public Mono> findSentenceBoundariesWithResponse(BinaryData
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -558,9 +376,7 @@ public Mono> findSentenceBoundariesWithResponse(BinaryData
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -608,28 +424,14 @@ public Mono> lookupDictionaryEntriesWithResponse(String fro
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -638,9 +440,7 @@ public Mono> lookupDictionaryEntriesWithResponse(String fro
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -688,15 +488,13 @@ public Mono> lookupDictionaryExamplesWithResponse(String fr
      * If no scope is given, then all groups are returned, which is equivalent to passing
      * `scope=translation,transliteration,dictionary`. To decide which set of supported languages
      * is appropriate for your scenario, see the description of the [response object](#response-body).
-     * @param acceptLanguage The language to use for user interface strings. Some of the fields in the response are
-     * names of languages or
+     * @param acceptLanguage The language to use for user interface strings. Some of the fields in the response are names of languages or
      * names of regions. Use this parameter to define the language in which these names are returned.
      * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr`
      * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional.
      * Names are provided in the English language when a target language is not specified or when localization
      * is not available.
-     * @param ifNoneMatch Passing the value of the ETag response header in an If-None-Match field will allow the service
-     * to optimize the response.
+     * @param ifNoneMatch Passing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response.
      * If the resource has not been modified, the service will return status code 304 and an empty response body.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
@@ -704,8 +502,7 @@ public Mono> lookupDictionaryExamplesWithResponse(String fr
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return the set of languages currently supported by other operations of the Translator on successful completion
-     * of {@link Mono}.
+     * @return the set of languages currently supported by other operations of the Translator on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -737,8 +534,7 @@ public Mono getLanguages(String clientTraceId, String scope,
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
-     * @return the set of languages currently supported by other operations of the Translator on successful completion
-     * of {@link Mono}.
+     * @return the set of languages currently supported by other operations of the Translator on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -752,8 +548,7 @@ public Mono getLanguages() {
     /**
      * Translate Text.
      *
-     * @param to Specifies the language of the output text. The target language must be one of the supported languages
-     * included
+     * @param to Specifies the language of the output text. The target language must be one of the supported languages included
      * in the translation scope. For example, use to=de to translate to German.
      * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string.
      * For example, use to=de&to=it to translate to German and Italian.
@@ -765,11 +560,9 @@ public Mono getLanguages() {
      *
      * You must use the from parameter rather than autodetection when using the dynamic dictionary feature.
      * Note: the dynamic dictionary feature is case-sensitive.
-     * @param textType Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a
-     * well-formed,
+     * @param textType Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed,
      * complete element. Possible values are: plain (default) or html.
-     * @param category A string specifying the category (domain) of the translation. This parameter is used to get
-     * translations
+     * @param category A string specifying the category (domain) of the translation. This parameter is used to get translations
      * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator
      * project details to this parameter to use your deployed customized system. Default value is: general.
      * @param profanityAction Specifies how profanities should be treated in translations.
@@ -778,16 +571,14 @@ public Mono getLanguages() {
      * Possible values are: Asterisk (default) or Tag.
      * @param includeAlignment Specifies whether to include alignment projection from source text to translated text.
      * Possible values are: true or false (default).
-     * @param includeSentenceLength Specifies whether to include sentence boundaries for the input text and the
-     * translated text.
+     * @param includeSentenceLength Specifies whether to include sentence boundaries for the input text and the translated text.
      * Possible values are: true or false (default).
      * @param suggestedFrom Specifies a fallback language if the language of the input text can't be identified.
      * Language autodetection is applied when the from parameter is omitted. If detection fails,
      * the suggestedFrom language will be assumed.
      * @param fromScript Specifies the script of the input text.
      * @param toScript Specifies the script of the translated text.
-     * @param allowFallback Specifies that the service is allowed to fall back to a general system when a custom system
-     * doesn't exist.
+     * @param allowFallback 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.
      *
      * allowFallback=false specifies that the translation should only use systems trained for the category specified
@@ -854,8 +645,7 @@ public Mono> translate(List to, List> translate(List to, List> transliterate(String language, String from
      * @param language Specifies the language of the text to convert from one script to another.
      * Possible languages are listed in the transliteration scope obtained by querying the service
      * for its supported languages.
-     * @param fromScript Specifies the script used by the input text. Look up supported languages using the
-     * transliteration scope,
+     * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope,
      * to find input scripts available for the selected language.
-     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find
-     * output
+     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output
      * scripts available for the selected combination of input language and input script.
      * @param requestBody Defines the content of the request.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java
index fa17ea0de4f1..84385c600527 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClient.java
@@ -51,70 +51,33 @@ public final class TextTranslationClient {
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. * If no scope is given, then all groups are returned, which is equivalent to passing * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * - * - * - * - * - * - * + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or * names of regions. Use this parameter to define the language in which these names are returned. * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     translation (Optional): {
@@ -169,8 +132,7 @@ public final class TextTranslationClient {
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the set of languages currently supported by other operations of the Translator along with
-     * {@link Response}.
+     * @return the set of languages currently supported by other operations of the Translator along with {@link Response}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -180,128 +142,52 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * + * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies 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. * * allowFallback=false specifies that the translation should only use systems trained for the category specified * by the request. If a translation for language X to language Y requires chaining through a pivot language E, * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -309,9 +195,7 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -347,8 +231,7 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
      * ]
      * }
* - * @param to Specifies the language of the output text. The target language must be one of the supported languages - * included + * @param to Specifies the language of the output text. The target language must be one of the supported languages included * in the translation scope. For example, use to=de to translate to German. * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. * For example, use to=de&to=it to translate to German and Italian. @@ -369,28 +252,14 @@ public Response translateWithResponse(List to, BinaryData re /** * Transliterate Text. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -398,9 +267,7 @@ public Response translateWithResponse(List to, BinaryData re
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -413,11 +280,9 @@ public Response translateWithResponse(List to, BinaryData re
      * @param language Specifies the language of the text to convert from one script to another.
      * Possible languages are listed in the transliteration scope obtained by querying the service
      * for its supported languages.
-     * @param fromScript Specifies the script used by the input text. Look up supported languages using the
-     * transliteration scope,
+     * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope,
      * to find input scripts available for the selected language.
-     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find
-     * output
+     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output
      * scripts available for the selected combination of input language and input script.
      * @param requestBody Defines the content of the request.
      * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
@@ -437,55 +302,24 @@ public Response transliterateWithResponse(String language, String fr
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -493,9 +327,7 @@ public Response transliterateWithResponse(String language, String fr
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -527,28 +359,14 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -556,9 +374,7 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -606,28 +422,14 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -636,9 +438,7 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -686,15 +486,13 @@ public Response lookupDictionaryExamplesWithResponse(String from, St
      * If no scope is given, then all groups are returned, which is equivalent to passing
      * `scope=translation,transliteration,dictionary`. To decide which set of supported languages
      * is appropriate for your scenario, see the description of the [response object](#response-body).
-     * @param acceptLanguage The language to use for user interface strings. Some of the fields in the response are
-     * names of languages or
+     * @param acceptLanguage The language to use for user interface strings. Some of the fields in the response are names of languages or
      * names of regions. Use this parameter to define the language in which these names are returned.
      * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr`
      * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional.
      * Names are provided in the English language when a target language is not specified or when localization
      * is not available.
-     * @param ifNoneMatch Passing the value of the ETag response header in an If-None-Match field will allow the service
-     * to optimize the response.
+     * @param ifNoneMatch Passing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response.
      * If the resource has not been modified, the service will return status code 304 and an empty response body.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
      * @throws HttpResponseException thrown if the request is rejected by server.
@@ -746,8 +544,7 @@ public GetLanguagesResult getLanguages() {
     /**
      * Translate Text.
      *
-     * @param to Specifies the language of the output text. The target language must be one of the supported languages
-     * included
+     * @param to Specifies the language of the output text. The target language must be one of the supported languages included
      * in the translation scope. For example, use to=de to translate to German.
      * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string.
      * For example, use to=de&to=it to translate to German and Italian.
@@ -759,11 +556,9 @@ public GetLanguagesResult getLanguages() {
      *
      * You must use the from parameter rather than autodetection when using the dynamic dictionary feature.
      * Note: the dynamic dictionary feature is case-sensitive.
-     * @param textType Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a
-     * well-formed,
+     * @param textType Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed,
      * complete element. Possible values are: plain (default) or html.
-     * @param category A string specifying the category (domain) of the translation. This parameter is used to get
-     * translations
+     * @param category A string specifying the category (domain) of the translation. This parameter is used to get translations
      * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator
      * project details to this parameter to use your deployed customized system. Default value is: general.
      * @param profanityAction Specifies how profanities should be treated in translations.
@@ -772,16 +567,14 @@ public GetLanguagesResult getLanguages() {
      * Possible values are: Asterisk (default) or Tag.
      * @param includeAlignment Specifies whether to include alignment projection from source text to translated text.
      * Possible values are: true or false (default).
-     * @param includeSentenceLength Specifies whether to include sentence boundaries for the input text and the
-     * translated text.
+     * @param includeSentenceLength Specifies whether to include sentence boundaries for the input text and the translated text.
      * Possible values are: true or false (default).
      * @param suggestedFrom Specifies a fallback language if the language of the input text can't be identified.
      * Language autodetection is applied when the from parameter is omitted. If detection fails,
      * the suggestedFrom language will be assumed.
      * @param fromScript Specifies the script of the input text.
      * @param toScript Specifies the script of the translated text.
-     * @param allowFallback Specifies that the service is allowed to fall back to a general system when a custom system
-     * doesn't exist.
+     * @param allowFallback 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.
      *
      * allowFallback=false specifies that the translation should only use systems trained for the category specified
@@ -848,8 +641,7 @@ public List translate(List to, List r
     /**
      * Translate Text.
      *
-     * @param to Specifies the language of the output text. The target language must be one of the supported languages
-     * included
+     * @param to Specifies the language of the output text. The target language must be one of the supported languages included
      * in the translation scope. For example, use to=de to translate to German.
      * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string.
      * For example, use to=de&to=it to translate to German and Italian.
@@ -877,11 +669,9 @@ public List translate(List to, List r
      * @param language Specifies the language of the text to convert from one script to another.
      * Possible languages are listed in the transliteration scope obtained by querying the service
      * for its supported languages.
-     * @param fromScript Specifies the script used by the input text. Look up supported languages using the
-     * transliteration scope,
+     * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope,
      * to find input scripts available for the selected language.
-     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find
-     * output
+     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output
      * scripts available for the selected combination of input language and input script.
      * @param requestBody Defines the content of the request.
      * @param clientTraceId A client-generated GUID to uniquely identify the request.
@@ -912,11 +702,9 @@ public List transliterate(String language, String fromScript
      * @param language Specifies the language of the text to convert from one script to another.
      * Possible languages are listed in the transliteration scope obtained by querying the service
      * for its supported languages.
-     * @param fromScript Specifies the script used by the input text. Look up supported languages using the
-     * transliteration scope,
+     * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope,
      * to find input scripts available for the selected language.
-     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find
-     * output
+     * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output
      * scripts available for the selected combination of input language and input script.
      * @param requestBody Defines the content of the request.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -1021,7 +809,8 @@ public List lookupDictionaryEntries(String from, String to
             requestOptions.setHeader(HttpHeaderName.fromString("X-ClientTraceId"), clientTraceId);
         }
         return lookupDictionaryEntriesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
     }
 
     /**
@@ -1046,7 +835,8 @@ public List lookupDictionaryEntries(String from, String to
         // Generated convenience method for lookupDictionaryEntriesWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return lookupDictionaryEntriesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_LOOKUP_ITEM);
     }
 
     /**
@@ -1076,7 +866,8 @@ public List lookupDictionaryExamples(String from, String
             requestOptions.setHeader(HttpHeaderName.fromString("X-ClientTraceId"), clientTraceId);
         }
         return lookupDictionaryExamplesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
     }
 
     /**
@@ -1102,7 +893,8 @@ public List lookupDictionaryExamples(String from, String
         // Generated convenience method for lookupDictionaryExamplesWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return lookupDictionaryExamplesWithResponse(from, to, BinaryData.fromObject(requestBody), requestOptions)
-            .getValue().toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
+            .getValue()
+            .toObject(TYPE_REFERENCE_LIST_DICTIONARY_EXAMPLE_ITEM);
     }
 
     @Generated
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java
index ea0e0941684e..8b274023bd0a 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/TextTranslationClientBuilder.java
@@ -3,16 +3,14 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.translation.text;
 
+import com.azure.core.client.traits.TokenCredentialTrait;
+import com.azure.core.client.traits.KeyCredentialTrait;
 import com.azure.ai.translation.text.implementation.TextTranslationClientImpl;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.ServiceClientBuilder;
 import com.azure.core.client.traits.ConfigurationTrait;
 import com.azure.core.client.traits.EndpointTrait;
 import com.azure.core.client.traits.HttpTrait;
-import com.azure.core.client.traits.KeyCredentialTrait;
-import com.azure.core.client.traits.TokenCredentialTrait;
-import com.azure.core.credential.KeyCredential;
-import com.azure.core.credential.TokenCredential;
 import com.azure.core.http.HttpClient;
 import com.azure.core.http.HttpHeaderName;
 import com.azure.core.http.HttpHeaders;
@@ -23,8 +21,8 @@
 import com.azure.core.http.policy.AddHeadersFromContextPolicy;
 import com.azure.core.http.policy.AddHeadersPolicy;
 import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
-import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpLogOptions;
 import com.azure.core.http.policy.HttpPipelinePolicy;
 import com.azure.core.http.policy.HttpPolicyProviders;
 import com.azure.core.http.policy.KeyCredentialPolicy;
@@ -38,12 +36,14 @@
 import com.azure.core.util.builder.ClientBuilderUtil;
 import com.azure.core.util.logging.ClientLogger;
 import com.azure.core.util.serializer.JacksonAdapter;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import com.azure.core.credential.KeyCredential;
+import com.azure.core.credential.TokenCredential;
+import java.net.MalformedURLException;
+import java.net.URL;
 
 /**
  * A builder for creating a new instance of the TextTranslationClient type.
@@ -335,7 +335,8 @@ private HttpPipeline createHttpPipeline() {
         if (headers.getSize() > 0) {
             policies.add(new AddHeadersPolicy(headers));
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addBeforeRetryPolicies(policies);
         policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy()));
@@ -349,12 +350,15 @@ private HttpPipeline createHttpPipeline() {
                 policies.add(new TranslatorRegionAuthenticationPolicy(this.region));
             }
         }
-        this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+        this.pipelinePolicies.stream()
+            .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
             .forEach(p -> policies.add(p));
         HttpPolicyProviders.addAfterRetryPolicies(policies);
         policies.add(new HttpLoggingPolicy(localHttpLogOptions));
         HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0]))
-            .httpClient(httpClient).clientOptions(localClientOptions).build();
+            .httpClient(httpClient)
+            .clientOptions(localClientOptions)
+            .build();
         return httpPipeline;
     }
 
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java
index f3b6555fa242..04c873a80d77 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/implementation/TextTranslationClientImpl.java
@@ -49,13 +49,13 @@ public final class TextTranslationClientImpl {
 
     /**
      * Supported Text Translation endpoints (protocol and hostname, for example:
-     * https://api.cognitive.microsofttranslator.com).
+     *     https://api.cognitive.microsofttranslator.com).
      */
     private final String endpoint;
 
     /**
      * Gets Supported Text Translation endpoints (protocol and hostname, for example:
-     * https://api.cognitive.microsofttranslator.com).
+     *     https://api.cognitive.microsofttranslator.com).
      * 
      * @return the endpoint value.
      */
@@ -109,7 +109,7 @@ public SerializerAdapter getSerializerAdapter() {
      * Initializes an instance of TextTranslationClient client.
      * 
      * @param endpoint Supported Text Translation endpoints (protocol and hostname, for example:
-     * https://api.cognitive.microsofttranslator.com).
+     *     https://api.cognitive.microsofttranslator.com).
      * @param serviceVersion Service version.
      */
     public TextTranslationClientImpl(String endpoint, TextTranslationServiceVersion serviceVersion) {
@@ -122,7 +122,7 @@ public TextTranslationClientImpl(String endpoint, TextTranslationServiceVersion
      * 
      * @param httpPipeline The HTTP pipeline to send requests through.
      * @param endpoint Supported Text Translation endpoints (protocol and hostname, for example:
-     * https://api.cognitive.microsofttranslator.com).
+     *     https://api.cognitive.microsofttranslator.com).
      * @param serviceVersion Service version.
      */
     public TextTranslationClientImpl(HttpPipeline httpPipeline, String endpoint,
@@ -136,7 +136,7 @@ public TextTranslationClientImpl(HttpPipeline httpPipeline, String endpoint,
      * @param httpPipeline The HTTP pipeline to send requests through.
      * @param serializerAdapter The serializer to serialize an object into a string.
      * @param endpoint Supported Text Translation endpoints (protocol and hostname, for example:
-     * https://api.cognitive.microsofttranslator.com).
+     *     https://api.cognitive.microsofttranslator.com).
      * @param serviceVersion Service version.
      */
     public TextTranslationClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint,
@@ -150,8 +150,7 @@ public TextTranslationClientImpl(HttpPipeline httpPipeline, SerializerAdapter se
     }
 
     /**
-     * The interface defining all the services for TextTranslationClient to be used by the proxy service to perform
-     * REST calls.
+     * The interface defining all the services for TextTranslationClient to be used by the proxy service to perform REST calls.
      */
     @Host("{Endpoint}")
     @ServiceInterface(name = "TextTranslationClien")
@@ -289,70 +288,33 @@ Response lookupDictionaryExamplesSync(@HostParam("Endpoint") String
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * + * If no scope is given, then all groups are returned, which is equivalent to passing + * `scope=translation,transliteration,dictionary`. To decide which set of supported languages + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. - * If no scope is given, then all groups are returned, which is equivalent to passing - * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * - * - * - * - * - * - * + * Names are provided in the English language when a target language is not specified or when localization + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or - * names of regions. Use this parameter to define the language in which these names are returned. - * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` + *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + * names of regions. Use this parameter to define the language in which these names are returned. + * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. - * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     translation (Optional): {
@@ -407,8 +369,7 @@ Response lookupDictionaryExamplesSync(@HostParam("Endpoint") String
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the set of languages currently supported by other operations of the Translator along with
-     * {@link Response} on successful completion of {@link Mono}.
+     * @return the set of languages currently supported by other operations of the Translator along with {@link Response} on successful completion of {@link Mono}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Mono> getLanguagesWithResponseAsync(RequestOptions requestOptions) {
@@ -419,70 +380,33 @@ public Mono> getLanguagesWithResponseAsync(RequestOptions r
 
     /**
      * Gets the set of languages currently supported by other operations of the Translator.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * + * If no scope is given, then all groups are returned, which is equivalent to passing + * `scope=translation,transliteration,dictionary`. To decide which set of supported languages + * is appropriate for your scenario, see the description of the [response object](#response-body). *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. + *
Query Parameters
NameTypeRequiredDescription
scopeStringNoA comma-separated list of names defining the group of languages to return. * Allowed group names are: `translation`, `transliteration` and `dictionary`. - * If no scope is given, then all groups are returned, which is equivalent to passing - * `scope=translation,transliteration,dictionary`. To decide which set of supported languages - * is appropriate for your scenario, see the description of the [response object](#response-body).
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * - * - * - * - * - * - * - * + * Names are provided in the English language when a target language is not specified or when localization + * is not available. + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or - * names of regions. Use this parameter to define the language in which these names are returned. - * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` + *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Accept-LanguageStringNoThe language to use for user interface strings. Some of the fields in the response are names of languages or + * names of regions. Use this parameter to define the language in which these names are returned. + * The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` * to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. - * Names are provided in the English language when a target language is not specified or when localization - * is not available.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize - * the response. - * If the resource has not been modified, the service will return status code 304 and an empty response body.
If-None-MatchStringNoPassing the value of the ETag response header in an If-None-Match field will allow the service to optimize the response. + * If the resource has not been modified, the service will return status code 304 and an empty response body.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * {
      *     translation (Optional): {
@@ -537,8 +461,7 @@ public Mono> getLanguagesWithResponseAsync(RequestOptions r
      * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
      * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
      * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
-     * @return the set of languages currently supported by other operations of the Translator along with
-     * {@link Response}.
+     * @return the set of languages currently supported by other operations of the Translator along with {@link Response}.
      */
     @ServiceMethod(returns = ReturnType.SINGLE)
     public Response getLanguagesWithResponse(RequestOptions requestOptions) {
@@ -549,128 +472,52 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
 
     /**
      * Translate Text.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * - * + * allowFallback=false specifies that the translation should only use systems trained for the category specified + * by the request. If a translation for language X to language Y requires chaining through a pivot language E, + * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. + * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true + * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by - * looking up supported languages using the translation scope. If the from parameter isn't specified, + *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * - * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations - * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. - * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * Language autodetection is applied when the from parameter is omitted. If detection fails, + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies 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. * - * allowFallback=false specifies that the translation should only use systems trained for the category specified - * by the request. If a translation for language X to language Y requires chaining through a pivot language E, - * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. - * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -678,9 +525,7 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -716,10 +561,9 @@ public Response getLanguagesWithResponse(RequestOptions requestOptio
      * ]
      * }
* - * @param to Specifies the language of the output text. The target language must be one of the supported languages - * included + * @param to Specifies the language of the output text. The target language must be one of the supported languages included * in the translation scope. For example, use to=de to translate to German. - * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. + * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. * For example, use to=de&to=it to translate to German and Italian. * @param requestBody Defines the content of the request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -740,128 +584,52 @@ public Mono> translateWithResponseAsync(List to, Bi /** * Translate Text. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * + * + * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * + * + * + * + * + * + * - * + * allowFallback=false specifies that the translation should only use systems trained for the category specified + * by the request. If a translation for language X to language Y requires chaining through a pivot language E, + * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. + * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true + * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by - * looking up supported languages using the translation scope. If the from parameter isn't specified, + *
Query Parameters
NameTypeRequiredDescription
fromStringNoSpecifies the language of the input text. Find which languages are available to translate from by + * looking up supported languages using the translation scope. If the from parameter isn't specified, * automatic language detection is applied to determine the source language. * - * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. - * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, - * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations - * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. - * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. - * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. - * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. - * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. - * Language autodetection is applied when the from parameter is omitted. If detection fails, - * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + * You must use the from parameter rather than autodetection when using the dynamic dictionary feature. + * Note: the dynamic dictionary feature is case-sensitive.
textTypeStringNoDefines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, + * complete element. Possible values are: plain (default) or html. Allowed values: "Plain", "Html".
categoryStringNoA string specifying the category (domain) of the translation. This parameter is used to get translations + * from a customized system built with Custom Translator. Add the Category ID from your Custom Translator + * project details to this parameter to use your deployed customized system. Default value is: general.
profanityActionStringNoSpecifies how profanities should be treated in translations. + * Possible values are: NoAction (default), Marked or Deleted. Allowed values: "NoAction", "Marked", "Deleted".
profanityMarkerStringNoSpecifies how profanities should be marked in translations. + * Possible values are: Asterisk (default) or Tag. . Allowed values: "Asterisk", "Tag".
includeAlignmentBooleanNoSpecifies whether to include alignment projection from source text to translated text. + * Possible values are: true or false (default).
includeSentenceLengthBooleanNoSpecifies whether to include sentence boundaries for the input text and the translated text. + * Possible values are: true or false (default).
suggestedFromStringNoSpecifies a fallback language if the language of the input text can't be identified. + * Language autodetection is applied when the from parameter is omitted. If detection fails, + * the suggestedFrom language will be assumed.
fromScriptStringNoSpecifies the script of the input text.
toScriptStringNoSpecifies the script of the translated text.
allowFallbackBooleanNoSpecifies 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. * - * allowFallback=false specifies that the translation should only use systems trained for the category specified - * by the request. If a translation for language X to language Y requires chaining through a pivot language E, - * then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. - * If no system is found with the specific category, the request will return a 400 status code. allowFallback=true - * specifies that the service is allowed to fall back to a general system when a custom system doesn't exist.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -869,9 +637,7 @@ public Mono> translateWithResponseAsync(List to, Bi
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -907,10 +673,9 @@ public Mono> translateWithResponseAsync(List to, Bi
      * ]
      * }
* - * @param to Specifies the language of the output text. The target language must be one of the supported languages - * included + * @param to Specifies the language of the output text. The target language must be one of the supported languages included * in the translation scope. For example, use to=de to translate to German. - * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. + * It's possible to translate to multiple languages simultaneously by repeating the parameter in the query string. * For example, use to=de&to=it to translate to German and Italian. * @param requestBody Defines the content of the request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -931,28 +696,14 @@ public Response translateWithResponse(List to, BinaryData re /** * Transliterate Text. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -960,9 +711,7 @@ public Response translateWithResponse(List to, BinaryData re
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -972,14 +721,12 @@ public Response translateWithResponse(List to, BinaryData re
      * ]
      * }
* - * @param language Specifies the language of the text to convert from one script to another. - * Possible languages are listed in the transliteration scope obtained by querying the service + * @param language Specifies the language of the text to convert from one script to another. + * Possible languages are listed in the transliteration scope obtained by querying the service * for its supported languages. - * @param fromScript Specifies the script used by the input text. Look up supported languages using the - * transliteration scope, + * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope, * to find input scripts available for the selected language. - * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find - * output + * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output * scripts available for the selected combination of input language and input script. * @param requestBody Defines the content of the request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -999,28 +746,14 @@ public Mono> transliterateWithResponseAsync(String language /** * Transliterate Text. - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1028,9 +761,7 @@ public Mono> transliterateWithResponseAsync(String language
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1040,14 +771,12 @@ public Mono> transliterateWithResponseAsync(String language
      * ]
      * }
* - * @param language Specifies the language of the text to convert from one script to another. - * Possible languages are listed in the transliteration scope obtained by querying the service + * @param language Specifies the language of the text to convert from one script to another. + * Possible languages are listed in the transliteration scope obtained by querying the service * for its supported languages. - * @param fromScript Specifies the script used by the input text. Look up supported languages using the - * transliteration scope, + * @param fromScript Specifies the script used by the input text. Look up supported languages using the transliteration scope, * to find input scripts available for the selected language. - * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find - * output + * @param toScript Specifies the output script. Look up supported languages using the transliteration scope, to find output * scripts available for the selected combination of input language and input script. * @param requestBody Defines the content of the request. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. @@ -1067,55 +796,24 @@ public Response transliterateWithResponse(String language, String fr /** * Find Sentence Boundaries. - *

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1123,9 +821,7 @@ public Response transliterateWithResponse(String language, String fr
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1158,55 +854,24 @@ public Mono> findSentenceBoundariesWithResponseAsync(Binary
 
     /**
      * Find Sentence Boundaries.
-     * 

- * Query Parameters - *

+ *

Query Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * + * *
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. - * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. - * If a script isn't specified, the default script of the language will be assumed.
Query Parameters
NameTypeRequiredDescription
languageStringNoLanguage tag identifying the language of the input text. + * If a code isn't specified, automatic language detection will be applied.
scriptStringNoScript tag identifying the script used by the input text. + * If a script isn't specified, the default script of the language will be assumed.
* You can add these to a request with {@link RequestOptions#addQueryParam} - *

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1214,9 +879,7 @@ public Mono> findSentenceBoundariesWithResponseAsync(Binary
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1249,28 +912,14 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1278,9 +927,7 @@ public Response findSentenceBoundariesWithResponse(BinaryData reques
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1329,28 +976,14 @@ public Mono> lookupDictionaryEntriesWithResponseAsync(Strin
 
     /**
      * Lookup Dictionary Entries.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1358,9 +991,7 @@ public Mono> lookupDictionaryEntriesWithResponseAsync(Strin
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1409,28 +1040,14 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1439,9 +1056,7 @@ public Response lookupDictionaryEntriesWithResponse(String from, Str
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
@@ -1483,28 +1098,14 @@ public Mono> lookupDictionaryExamplesWithResponseAsync(Stri
 
     /**
      * Lookup Dictionary Examples.
-     * 

- * Header Parameters - *

+ *

Header Parameters

* - * - * - * - * - * - * - * - * - * - * - * - * - * + * + * + * *
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
Header Parameters
NameTypeRequiredDescription
X-ClientTraceIdStringNoA client-generated GUID to uniquely identify the request.
* You can add these to a request with {@link RequestOptions#addHeader} - *

- * Request Body Schema - *

+ *

Request Body Schema

*
{@code
      * [
      *      (Required){
@@ -1513,9 +1114,7 @@ public Mono> lookupDictionaryExamplesWithResponseAsync(Stri
      *     }
      * ]
      * }
- *

- * Response Body Schema - *

+ *

Response Body Schema

*
{@code
      * [
      *      (Required){
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java
index b527fc07c8a3..f05874b357a1 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BackTranslation.java
@@ -5,30 +5,31 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Back Translation.
  */
 @Immutable
-public final class BackTranslation {
+public final class BackTranslation implements JsonSerializable {
 
     /*
      * A string giving the normalized form of the source term that is a back-translation of the target.
      * This value should be used as input to lookup examples.
      */
     @Generated
-    @JsonProperty(value = "normalizedText")
-    private String normalizedText;
+    private final String normalizedText;
 
     /*
      * A string giving the source term that is a back-translation of the target in a form best
      * suited for end-user display.
      */
     @Generated
-    @JsonProperty(value = "displayText")
-    private String displayText;
+    private final String displayText;
 
     /*
      * An integer representing the number of examples that are available for this translation pair.
@@ -40,17 +41,14 @@ public final class BackTranslation {
      * applied on the fly to remove "bad" examples.
      */
     @Generated
-    @JsonProperty(value = "numExamples")
-    private int numExamples;
+    private final int numExamples;
 
     /*
      * An integer representing the frequency of this translation pair in the data. The main purpose of this
-     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are
-     * first.
+     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are first.
      */
     @Generated
-    @JsonProperty(value = "frequencyCount")
-    private int frequencyCount;
+    private final int frequencyCount;
 
     /**
      * Creates an instance of BackTranslation class.
@@ -61,10 +59,7 @@ public final class BackTranslation {
      * @param frequencyCount the frequencyCount value to set.
      */
     @Generated
-    @JsonCreator
-    private BackTranslation(@JsonProperty(value = "normalizedText") String normalizedText,
-        @JsonProperty(value = "displayText") String displayText, @JsonProperty(value = "numExamples") int numExamples,
-        @JsonProperty(value = "frequencyCount") int frequencyCount) {
+    private BackTranslation(String normalizedText, String displayText, int numExamples, int frequencyCount) {
         this.normalizedText = normalizedText;
         this.displayText = displayText;
         this.numExamples = numExamples;
@@ -72,8 +67,7 @@ private BackTranslation(@JsonProperty(value = "normalizedText") String normalize
     }
 
     /**
-     * Get the normalizedText property: A string giving the normalized form of the source term that is a
-     * back-translation of the target.
+     * Get the normalizedText property: A string giving the normalized form of the source term that is a back-translation of the target.
      * This value should be used as input to lookup examples.
      *
      * @return the normalizedText value.
@@ -84,8 +78,7 @@ public String getNormalizedText() {
     }
 
     /**
-     * Get the displayText property: A string giving the source term that is a back-translation of the target in a form
-     * best
+     * Get the displayText property: A string giving the source term that is a back-translation of the target in a form best
      * suited for end-user display.
      *
      * @return the displayText value.
@@ -96,8 +89,7 @@ public String getDisplayText() {
     }
 
     /**
-     * Get the numExamples property: An integer representing the number of examples that are available for this
-     * translation pair.
+     * Get the numExamples property: An integer representing the number of examples that are available for this translation pair.
      * Actual examples must be retrieved with a separate call to lookup examples. The number is mostly
      * intended to facilitate display in a UX. For example, a user interface may add a hyperlink
      * to the back-translation if the number of examples is greater than zero and show the back-translation
@@ -113,10 +105,8 @@ public int getNumExamples() {
     }
 
     /**
-     * Get the frequencyCount property: An integer representing the frequency of this translation pair in the data. The
-     * main purpose of this
-     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are
-     * first.
+     * Get the frequencyCount property: An integer representing the frequency of this translation pair in the data. The main purpose of this
+     * field is to provide a user interface with a means to sort back-translations so the most frequent terms are first.
      *
      * @return the frequencyCount value.
      */
@@ -124,4 +114,52 @@ public int getNumExamples() {
     public int getFrequencyCount() {
         return this.frequencyCount;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("normalizedText", this.normalizedText);
+        jsonWriter.writeStringField("displayText", this.displayText);
+        jsonWriter.writeIntField("numExamples", this.numExamples);
+        jsonWriter.writeIntField("frequencyCount", this.frequencyCount);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BackTranslation from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BackTranslation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BackTranslation.
+     */
+    @Generated
+    public static BackTranslation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String normalizedText = null;
+            String displayText = null;
+            int numExamples = 0;
+            int frequencyCount = 0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("normalizedText".equals(fieldName)) {
+                    normalizedText = reader.getString();
+                } else if ("displayText".equals(fieldName)) {
+                    displayText = reader.getString();
+                } else if ("numExamples".equals(fieldName)) {
+                    numExamples = reader.getInt();
+                } else if ("frequencyCount".equals(fieldName)) {
+                    frequencyCount = reader.getInt();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new BackTranslation(normalizedText, displayText, numExamples, frequencyCount);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java
index 09612564f9d0..e0a05d982308 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/BreakSentenceItem.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Item containing break sentence result.
  */
 @Immutable
-public final class BreakSentenceItem {
+public final class BreakSentenceItem implements JsonSerializable {
 
     /*
      * The detectedLanguage property is only present in the result object when language auto-detection is requested.
      */
     @Generated
-    @JsonProperty(value = "detectedLanguage")
     private DetectedLanguage detectedLanguage;
 
     /*
@@ -27,8 +29,7 @@ public final class BreakSentenceItem {
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      */
     @Generated
-    @JsonProperty(value = "sentLen")
-    private List sentLen;
+    private final List sentLen;
 
     /**
      * Creates an instance of BreakSentenceItem class.
@@ -36,14 +37,12 @@ public final class BreakSentenceItem {
      * @param sentLen the sentLen value to set.
      */
     @Generated
-    @JsonCreator
-    private BreakSentenceItem(@JsonProperty(value = "sentLen") List sentLen) {
+    private BreakSentenceItem(List sentLen) {
         this.sentLen = sentLen;
     }
 
     /**
-     * Get the detectedLanguage property: The detectedLanguage property is only present in the result object when
-     * language auto-detection is requested.
+     * Get the detectedLanguage property: The detectedLanguage property is only present in the result object when language auto-detection is requested.
      *
      * @return the detectedLanguage value.
      */
@@ -62,4 +61,46 @@ public DetectedLanguage getDetectedLanguage() {
     public List getSentLen() {
         return this.sentLen;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("sentLen", this.sentLen, (writer, element) -> writer.writeInt(element));
+        jsonWriter.writeJsonField("detectedLanguage", this.detectedLanguage);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of BreakSentenceItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of BreakSentenceItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the BreakSentenceItem.
+     */
+    @Generated
+    public static BreakSentenceItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List sentLen = null;
+            DetectedLanguage detectedLanguage = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("sentLen".equals(fieldName)) {
+                    sentLen = reader.readArray(reader1 -> reader1.getInt());
+                } else if ("detectedLanguage".equals(fieldName)) {
+                    detectedLanguage = DetectedLanguage.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            BreakSentenceItem deserializedBreakSentenceItem = new BreakSentenceItem(sentLen);
+            deserializedBreakSentenceItem.detectedLanguage = detectedLanguage;
+            return deserializedBreakSentenceItem;
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java
index fb0ddfecd174..4195801c6971 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/CommonScriptModel.java
@@ -5,42 +5,41 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Common properties of language script.
  */
 @Immutable
-public class CommonScriptModel {
+public class CommonScriptModel implements JsonSerializable {
 
     /*
      * Code identifying the script.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /*
      * Display name of the script in the locale requested via Accept-Language header.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for the language.
      */
     @Generated
-    @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
-    @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /**
      * Creates an instance of CommonScriptModel class.
@@ -51,9 +50,7 @@ public class CommonScriptModel {
      * @param dir the dir value to set.
      */
     @Generated
-    @JsonCreator
-    protected CommonScriptModel(@JsonProperty(value = "code") String code, @JsonProperty(value = "name") String name,
-        @JsonProperty(value = "nativeName") String nativeName, @JsonProperty(value = "dir") String dir) {
+    protected CommonScriptModel(String code, String name, String nativeName, String dir) {
         this.code = code;
         this.name = name;
         this.nativeName = nativeName;
@@ -91,8 +88,7 @@ public String getNativeName() {
     }
 
     /**
-     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right
-     * languages.
+     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      *
      * @return the dir value.
      */
@@ -100,4 +96,52 @@ public String getNativeName() {
     public String getDir() {
         return this.dir;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", this.code);
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("nativeName", this.nativeName);
+        jsonWriter.writeStringField("dir", this.dir);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of CommonScriptModel from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of CommonScriptModel if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the CommonScriptModel.
+     */
+    @Generated
+    public static CommonScriptModel fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String name = null;
+            String nativeName = null;
+            String dir = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("nativeName".equals(fieldName)) {
+                    nativeName = reader.getString();
+                } else if ("dir".equals(fieldName)) {
+                    dir = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new CommonScriptModel(code, name, nativeName, dir);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java
index 22d2c944c0cb..d0f812e18126 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DetectedLanguage.java
@@ -5,29 +5,30 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * An object describing the detected language.
  */
 @Immutable
-public final class DetectedLanguage {
+public final class DetectedLanguage implements JsonSerializable {
 
     /*
      * A string representing the code of the detected language.
      */
     @Generated
-    @JsonProperty(value = "language")
-    private String language;
+    private final String language;
 
     /*
      * A float value indicating the confidence in the result.
      * The score is between zero and one and a low score indicates a low confidence.
      */
     @Generated
-    @JsonProperty(value = "score")
-    private double score;
+    private final double score;
 
     /**
      * Creates an instance of DetectedLanguage class.
@@ -36,9 +37,7 @@ public final class DetectedLanguage {
      * @param score the score value to set.
      */
     @Generated
-    @JsonCreator
-    private DetectedLanguage(@JsonProperty(value = "language") String language,
-        @JsonProperty(value = "score") double score) {
+    private DetectedLanguage(String language, double score) {
         this.language = language;
         this.score = score;
     }
@@ -63,4 +62,44 @@ public String getLanguage() {
     public double getScore() {
         return this.score;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("language", this.language);
+        jsonWriter.writeDoubleField("score", this.score);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DetectedLanguage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DetectedLanguage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DetectedLanguage.
+     */
+    @Generated
+    public static DetectedLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String language = null;
+            double score = 0.0;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("language".equals(fieldName)) {
+                    language = reader.getString();
+                } else if ("score".equals(fieldName)) {
+                    score = reader.getDouble();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DetectedLanguage(language, score);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java
index 7b48d86d423c..45c03e91feef 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExample.java
@@ -5,14 +5,17 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Dictionary Example.
  */
 @Immutable
-public final class DictionaryExample {
+public final class DictionaryExample implements JsonSerializable {
 
     /*
      * The string to concatenate before the value of sourceTerm to form a complete example.
@@ -20,8 +23,7 @@ public final class DictionaryExample {
      * This value may be an empty string.
      */
     @Generated
-    @JsonProperty(value = "sourcePrefix")
-    private String sourcePrefix;
+    private final String sourcePrefix;
 
     /*
      * A string equal to the actual term looked up. The string is added with sourcePrefix
@@ -29,8 +31,7 @@ public final class DictionaryExample {
      * marked in a user interface, e.g., by bolding it.
      */
     @Generated
-    @JsonProperty(value = "sourceTerm")
-    private String sourceTerm;
+    private final String sourceTerm;
 
     /*
      * The string to concatenate after the value of sourceTerm to form a complete example.
@@ -38,29 +39,25 @@ public final class DictionaryExample {
      * This value may be an empty string.
      */
     @Generated
-    @JsonProperty(value = "sourceSuffix")
-    private String sourceSuffix;
+    private final String sourceSuffix;
 
     /*
      * A string similar to sourcePrefix but for the target.
      */
     @Generated
-    @JsonProperty(value = "targetPrefix")
-    private String targetPrefix;
+    private final String targetPrefix;
 
     /*
      * A string similar to sourceTerm but for the target.
      */
     @Generated
-    @JsonProperty(value = "targetTerm")
-    private String targetTerm;
+    private final String targetTerm;
 
     /*
      * A string similar to sourceSuffix but for the target.
      */
     @Generated
-    @JsonProperty(value = "targetSuffix")
-    private String targetSuffix;
+    private final String targetSuffix;
 
     /**
      * Creates an instance of DictionaryExample class.
@@ -73,13 +70,8 @@ public final class DictionaryExample {
      * @param targetSuffix the targetSuffix value to set.
      */
     @Generated
-    @JsonCreator
-    private DictionaryExample(@JsonProperty(value = "sourcePrefix") String sourcePrefix,
-        @JsonProperty(value = "sourceTerm") String sourceTerm,
-        @JsonProperty(value = "sourceSuffix") String sourceSuffix,
-        @JsonProperty(value = "targetPrefix") String targetPrefix,
-        @JsonProperty(value = "targetTerm") String targetTerm,
-        @JsonProperty(value = "targetSuffix") String targetSuffix) {
+    private DictionaryExample(String sourcePrefix, String sourceTerm, String sourceSuffix, String targetPrefix,
+        String targetTerm, String targetSuffix) {
         this.sourcePrefix = sourcePrefix;
         this.sourceTerm = sourceTerm;
         this.sourceSuffix = sourceSuffix;
@@ -89,8 +81,7 @@ private DictionaryExample(@JsonProperty(value = "sourcePrefix") String sourcePre
     }
 
     /**
-     * Get the sourcePrefix property: The string to concatenate before the value of sourceTerm to form a complete
-     * example.
+     * Get the sourcePrefix property: The string to concatenate before the value of sourceTerm to form a complete example.
      * Do not add a space character, since it is already there when it should be.
      * This value may be an empty string.
      *
@@ -114,8 +105,7 @@ public String getSourceTerm() {
     }
 
     /**
-     * Get the sourceSuffix property: The string to concatenate after the value of sourceTerm to form a complete
-     * example.
+     * Get the sourceSuffix property: The string to concatenate after the value of sourceTerm to form a complete example.
      * Do not add a space character, since it is already there when it should be.
      * This value may be an empty string.
      *
@@ -155,4 +145,61 @@ public String getTargetTerm() {
     public String getTargetSuffix() {
         return this.targetSuffix;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("sourcePrefix", this.sourcePrefix);
+        jsonWriter.writeStringField("sourceTerm", this.sourceTerm);
+        jsonWriter.writeStringField("sourceSuffix", this.sourceSuffix);
+        jsonWriter.writeStringField("targetPrefix", this.targetPrefix);
+        jsonWriter.writeStringField("targetTerm", this.targetTerm);
+        jsonWriter.writeStringField("targetSuffix", this.targetSuffix);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DictionaryExample from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DictionaryExample if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DictionaryExample.
+     */
+    @Generated
+    public static DictionaryExample fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String sourcePrefix = null;
+            String sourceTerm = null;
+            String sourceSuffix = null;
+            String targetPrefix = null;
+            String targetTerm = null;
+            String targetSuffix = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("sourcePrefix".equals(fieldName)) {
+                    sourcePrefix = reader.getString();
+                } else if ("sourceTerm".equals(fieldName)) {
+                    sourceTerm = reader.getString();
+                } else if ("sourceSuffix".equals(fieldName)) {
+                    sourceSuffix = reader.getString();
+                } else if ("targetPrefix".equals(fieldName)) {
+                    targetPrefix = reader.getString();
+                } else if ("targetTerm".equals(fieldName)) {
+                    targetTerm = reader.getString();
+                } else if ("targetSuffix".equals(fieldName)) {
+                    targetSuffix = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DictionaryExample(sourcePrefix, sourceTerm, sourceSuffix, targetPrefix, targetTerm,
+                targetSuffix);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java
index c3b91ef5a1bd..ac97101320b4 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleItem.java
@@ -5,38 +5,38 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Dictionary Example element.
  */
 @Immutable
-public final class DictionaryExampleItem {
+public final class DictionaryExampleItem implements JsonSerializable {
 
     /*
      * A string giving the normalized form of the source term. Generally, this should be identical
      * to the value of the Text field at the matching list index in the body of the request.
      */
     @Generated
-    @JsonProperty(value = "normalizedSource")
-    private String normalizedSource;
+    private final String normalizedSource;
 
     /*
      * A string giving the normalized form of the target term. Generally, this should be identical
      * to the value of the Translation field at the matching list index in the body of the request.
      */
     @Generated
-    @JsonProperty(value = "normalizedTarget")
-    private String normalizedTarget;
+    private final String normalizedTarget;
 
     /*
      * A list of examples for the (source term, target term) pair.
      */
     @Generated
-    @JsonProperty(value = "examples")
-    private List examples;
+    private final List examples;
 
     /**
      * Creates an instance of DictionaryExampleItem class.
@@ -46,18 +46,14 @@ public final class DictionaryExampleItem {
      * @param examples the examples value to set.
      */
     @Generated
-    @JsonCreator
-    private DictionaryExampleItem(@JsonProperty(value = "normalizedSource") String normalizedSource,
-        @JsonProperty(value = "normalizedTarget") String normalizedTarget,
-        @JsonProperty(value = "examples") List examples) {
+    private DictionaryExampleItem(String normalizedSource, String normalizedTarget, List examples) {
         this.normalizedSource = normalizedSource;
         this.normalizedTarget = normalizedTarget;
         this.examples = examples;
     }
 
     /**
-     * Get the normalizedSource property: A string giving the normalized form of the source term. Generally, this
-     * should be identical
+     * Get the normalizedSource property: A string giving the normalized form of the source term. Generally, this should be identical
      * to the value of the Text field at the matching list index in the body of the request.
      *
      * @return the normalizedSource value.
@@ -68,8 +64,7 @@ public String getNormalizedSource() {
     }
 
     /**
-     * Get the normalizedTarget property: A string giving the normalized form of the target term. Generally, this
-     * should be identical
+     * Get the normalizedTarget property: A string giving the normalized form of the target term. Generally, this should be identical
      * to the value of the Translation field at the matching list index in the body of the request.
      *
      * @return the normalizedTarget value.
@@ -88,4 +83,48 @@ public String getNormalizedTarget() {
     public List getExamples() {
         return this.examples;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("normalizedSource", this.normalizedSource);
+        jsonWriter.writeStringField("normalizedTarget", this.normalizedTarget);
+        jsonWriter.writeArrayField("examples", this.examples, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DictionaryExampleItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DictionaryExampleItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DictionaryExampleItem.
+     */
+    @Generated
+    public static DictionaryExampleItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String normalizedSource = null;
+            String normalizedTarget = null;
+            List examples = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("normalizedSource".equals(fieldName)) {
+                    normalizedSource = reader.getString();
+                } else if ("normalizedTarget".equals(fieldName)) {
+                    normalizedTarget = reader.getString();
+                } else if ("examples".equals(fieldName)) {
+                    examples = reader.readArray(reader1 -> DictionaryExample.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DictionaryExampleItem(normalizedSource, normalizedTarget, examples);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java
index 90455888a62c..d9450c878461 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryExampleTextItem.java
@@ -5,8 +5,10 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Element containing the text with translation.
@@ -15,13 +17,12 @@
 public final class DictionaryExampleTextItem extends InputTextItem {
 
     /*
-     * A string specifying the translated text previously returned by the Dictionary lookup operation.
-     * This should be the value from the normalizedTarget field in the translations list of the Dictionary
+     * A string specifying the translated text previously returned by the Dictionary lookup operation. 
+     * This should be the value from the normalizedTarget field in the translations list of the Dictionary 
      * lookup response. The service will return examples for the specific source-target word-pair.
      */
     @Generated
-    @JsonProperty(value = "translation")
-    private String translation;
+    private final String translation;
 
     /**
      * Creates an instance of DictionaryExampleTextItem class.
@@ -30,16 +31,13 @@ public final class DictionaryExampleTextItem extends InputTextItem {
      * @param translation the translation value to set.
      */
     @Generated
-    @JsonCreator
-    public DictionaryExampleTextItem(@JsonProperty(value = "text") String text,
-        @JsonProperty(value = "translation") String translation) {
+    public DictionaryExampleTextItem(String text, String translation) {
         super(text);
         this.translation = translation;
     }
 
     /**
-     * Get the translation property: A string specifying the translated text previously returned by the Dictionary
-     * lookup operation.
+     * Get the translation property: A string specifying the translated text previously returned by the Dictionary lookup operation.
      * This should be the value from the normalizedTarget field in the translations list of the Dictionary
      * lookup response. The service will return examples for the specific source-target word-pair.
      *
@@ -49,4 +47,44 @@ public DictionaryExampleTextItem(@JsonProperty(value = "text") String text,
     public String getTranslation() {
         return this.translation;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", getText());
+        jsonWriter.writeStringField("translation", this.translation);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DictionaryExampleTextItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DictionaryExampleTextItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DictionaryExampleTextItem.
+     */
+    @Generated
+    public static DictionaryExampleTextItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            String translation = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("translation".equals(fieldName)) {
+                    translation = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DictionaryExampleTextItem(text, translation);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java
index f0a33e1bbe63..c23bab1b2623 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryLookupItem.java
@@ -5,15 +5,18 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Dictionary Lookup Element.
  */
 @Immutable
-public final class DictionaryLookupItem {
+public final class DictionaryLookupItem implements JsonSerializable {
 
     /*
      * A string giving the normalized form of the source term.
@@ -21,8 +24,7 @@ public final class DictionaryLookupItem {
      * The content of this field becomes the input to lookup examples.
      */
     @Generated
-    @JsonProperty(value = "normalizedSource")
-    private String normalizedSource;
+    private final String normalizedSource;
 
     /*
      * A string giving the source term in a form best suited for end-user display.
@@ -30,15 +32,13 @@ public final class DictionaryLookupItem {
      * spelling of the name: "John".
      */
     @Generated
-    @JsonProperty(value = "displaySource")
-    private String displaySource;
+    private final String displaySource;
 
     /*
      * A list of translations for the source term.
      */
     @Generated
-    @JsonProperty(value = "translations")
-    private List translations;
+    private final List translations;
 
     /**
      * Creates an instance of DictionaryLookupItem class.
@@ -48,10 +48,8 @@ public final class DictionaryLookupItem {
      * @param translations the translations value to set.
      */
     @Generated
-    @JsonCreator
-    private DictionaryLookupItem(@JsonProperty(value = "normalizedSource") String normalizedSource,
-        @JsonProperty(value = "displaySource") String displaySource,
-        @JsonProperty(value = "translations") List translations) {
+    private DictionaryLookupItem(String normalizedSource, String displaySource,
+        List translations) {
         this.normalizedSource = normalizedSource;
         this.displaySource = displaySource;
         this.translations = translations;
@@ -90,4 +88,48 @@ public String getDisplaySource() {
     public List getTranslations() {
         return this.translations;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("normalizedSource", this.normalizedSource);
+        jsonWriter.writeStringField("displaySource", this.displaySource);
+        jsonWriter.writeArrayField("translations", this.translations, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DictionaryLookupItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DictionaryLookupItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DictionaryLookupItem.
+     */
+    @Generated
+    public static DictionaryLookupItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String normalizedSource = null;
+            String displaySource = null;
+            List translations = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("normalizedSource".equals(fieldName)) {
+                    normalizedSource = reader.getString();
+                } else if ("displaySource".equals(fieldName)) {
+                    displaySource = reader.getString();
+                } else if ("translations".equals(fieldName)) {
+                    translations = reader.readArray(reader1 -> DictionaryTranslation.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DictionaryLookupItem(normalizedSource, displaySource, translations);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java
index 83a382d58c28..560447f449b2 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/DictionaryTranslation.java
@@ -5,23 +5,25 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Translation source term.
  */
 @Immutable
-public final class DictionaryTranslation {
+public final class DictionaryTranslation implements JsonSerializable {
 
     /*
      * A string giving the normalized form of this term in the target language.
      * This value should be used as input to lookup examples.
      */
     @Generated
-    @JsonProperty(value = "normalizedTarget")
-    private String normalizedTarget;
+    private final String normalizedTarget;
 
     /*
      * A string giving the term in the target language and in a form best suited
@@ -30,35 +32,31 @@ public final class DictionaryTranslation {
      * normalizedTarget = "juan" and displayTarget = "Juan".
      */
     @Generated
-    @JsonProperty(value = "displayTarget")
-    private String displayTarget;
+    private final String displayTarget;
 
     /*
      * A string associating this term with a part-of-speech tag.
      */
     @Generated
-    @JsonProperty(value = "posTag")
-    private String posTag;
+    private final String posTag;
 
     /*
-     * A value between 0.0 and 1.0 which represents the "confidence"
-     * (or perhaps more accurately, "probability in the training data") of that translation pair.
+     * A value between 0.0 and 1.0 which represents the "confidence" 
+     * (or perhaps more accurately, "probability in the training data") of that translation pair. 
      * The sum of confidence scores for one source word may or may not sum to 1.0.
      */
     @Generated
-    @JsonProperty(value = "confidence")
-    private double confidence;
+    private final double confidence;
 
     /*
      * A string giving the word to display as a prefix of the translation. Currently,
      * this is the gendered determiner of nouns, in languages that have gendered determiners.
-     * For example, the prefix of the Spanish word "mosca" is "la", since "mosca" is a feminine noun in Spanish.
-     * This is only dependent on the translation, and not on the source.
+     * For example, the prefix of the Spanish word "mosca" is "la", since "mosca" is a feminine noun in Spanish. 
+     * This is only dependent on the translation, and not on the source. 
      * If there is no prefix, it will be the empty string.
      */
     @Generated
-    @JsonProperty(value = "prefixWord")
-    private String prefixWord;
+    private final String prefixWord;
 
     /*
      * A list of "back translations" of the target. For example, source words that the target can translate to.
@@ -67,8 +65,7 @@ public final class DictionaryTranslation {
      * However, it is not guaranteed to be in the first position, and often will not be.
      */
     @Generated
-    @JsonProperty(value = "backTranslations")
-    private List backTranslations;
+    private final List backTranslations;
 
     /**
      * Creates an instance of DictionaryTranslation class.
@@ -81,11 +78,8 @@ public final class DictionaryTranslation {
      * @param backTranslations the backTranslations value to set.
      */
     @Generated
-    @JsonCreator
-    private DictionaryTranslation(@JsonProperty(value = "normalizedTarget") String normalizedTarget,
-        @JsonProperty(value = "displayTarget") String displayTarget, @JsonProperty(value = "posTag") String posTag,
-        @JsonProperty(value = "confidence") double confidence, @JsonProperty(value = "prefixWord") String prefixWord,
-        @JsonProperty(value = "backTranslations") List backTranslations) {
+    private DictionaryTranslation(String normalizedTarget, String displayTarget, String posTag, double confidence,
+        String prefixWord, List backTranslations) {
         this.normalizedTarget = normalizedTarget;
         this.displayTarget = displayTarget;
         this.posTag = posTag;
@@ -155,8 +149,7 @@ public String getPrefixWord() {
     }
 
     /**
-     * Get the backTranslations property: A list of "back translations" of the target. For example, source words that
-     * the target can translate to.
+     * Get the backTranslations property: A list of "back translations" of the target. For example, source words that the target can translate to.
      * The list is guaranteed to contain the source word that was requested (e.g., if the source word being
      * looked up is "fly", then it is guaranteed that "fly" will be in the backTranslations list).
      * However, it is not guaranteed to be in the first position, and often will not be.
@@ -167,4 +160,62 @@ public String getPrefixWord() {
     public List getBackTranslations() {
         return this.backTranslations;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("normalizedTarget", this.normalizedTarget);
+        jsonWriter.writeStringField("displayTarget", this.displayTarget);
+        jsonWriter.writeStringField("posTag", this.posTag);
+        jsonWriter.writeDoubleField("confidence", this.confidence);
+        jsonWriter.writeStringField("prefixWord", this.prefixWord);
+        jsonWriter.writeArrayField("backTranslations", this.backTranslations,
+            (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of DictionaryTranslation from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of DictionaryTranslation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the DictionaryTranslation.
+     */
+    @Generated
+    public static DictionaryTranslation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String normalizedTarget = null;
+            String displayTarget = null;
+            String posTag = null;
+            double confidence = 0.0;
+            String prefixWord = null;
+            List backTranslations = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("normalizedTarget".equals(fieldName)) {
+                    normalizedTarget = reader.getString();
+                } else if ("displayTarget".equals(fieldName)) {
+                    displayTarget = reader.getString();
+                } else if ("posTag".equals(fieldName)) {
+                    posTag = reader.getString();
+                } else if ("confidence".equals(fieldName)) {
+                    confidence = reader.getDouble();
+                } else if ("prefixWord".equals(fieldName)) {
+                    prefixWord = reader.getString();
+                } else if ("backTranslations".equals(fieldName)) {
+                    backTranslations = reader.readArray(reader1 -> BackTranslation.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new DictionaryTranslation(normalizedTarget, displayTarget, posTag, confidence, prefixWord,
+                backTranslations);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/GetLanguagesResult.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/GetLanguagesResult.java
index 5691ef5c6fcb..ecc195338dc7 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/GetLanguagesResult.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/GetLanguagesResult.java
@@ -5,34 +5,35 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.Map;
 
 /**
  * Response for the languages API.
  */
 @Immutable
-public final class GetLanguagesResult {
+public final class GetLanguagesResult implements JsonSerializable {
 
     /*
      * Languages that support translate API.
      */
     @Generated
-    @JsonProperty(value = "translation")
     private Map translation;
 
     /*
      * Languages that support transliteration API.
      */
     @Generated
-    @JsonProperty(value = "transliteration")
     private Map transliteration;
 
     /*
      * Languages that support dictionary API.
      */
     @Generated
-    @JsonProperty(value = "dictionary")
     private Map dictionary;
 
     /**
@@ -71,4 +72,52 @@ public Map getTransliteration() {
     public Map getDictionary() {
         return this.dictionary;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeMapField("translation", this.translation, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("transliteration", this.transliteration,
+            (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeMapField("dictionary", this.dictionary, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of GetLanguagesResult from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of GetLanguagesResult if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IOException If an error occurs while reading the GetLanguagesResult.
+     */
+    @Generated
+    public static GetLanguagesResult fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            GetLanguagesResult deserializedGetLanguagesResult = new GetLanguagesResult();
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("translation".equals(fieldName)) {
+                    Map translation
+                        = reader.readMap(reader1 -> TranslationLanguage.fromJson(reader1));
+                    deserializedGetLanguagesResult.translation = translation;
+                } else if ("transliteration".equals(fieldName)) {
+                    Map transliteration
+                        = reader.readMap(reader1 -> TransliterationLanguage.fromJson(reader1));
+                    deserializedGetLanguagesResult.transliteration = transliteration;
+                } else if ("dictionary".equals(fieldName)) {
+                    Map dictionary
+                        = reader.readMap(reader1 -> SourceDictionaryLanguage.fromJson(reader1));
+                    deserializedGetLanguagesResult.dictionary = dictionary;
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return deserializedGetLanguagesResult;
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java
index f1f7e3a6bc16..fa4a2a8b3f8c 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/InputTextItem.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Element containing the text for translation.
  */
 @Immutable
-public class InputTextItem {
+public class InputTextItem implements JsonSerializable {
 
     /*
      * Text to translate.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of InputTextItem class.
@@ -27,8 +29,7 @@ public class InputTextItem {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    public InputTextItem(@JsonProperty(value = "text") String text) {
+    public InputTextItem(String text) {
         this.text = text;
     }
 
@@ -41,4 +42,40 @@ public InputTextItem(@JsonProperty(value = "text") String text) {
     public String getText() {
         return this.text;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of InputTextItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of InputTextItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the InputTextItem.
+     */
+    @Generated
+    public static InputTextItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new InputTextItem(text);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java
index 68527e2c056a..901e7862ec91 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityAction.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -48,7 +47,6 @@ public ProfanityAction() {
      * @return the corresponding ProfanityAction.
      */
     @Generated
-    @JsonCreator
     public static ProfanityAction fromString(String name) {
         return fromString(name, ProfanityAction.class);
     }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java
index 07cd32aa1978..aa1d16fe1f60 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/ProfanityMarker.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public ProfanityMarker() {
      * @return the corresponding ProfanityMarker.
      */
     @Generated
-    @JsonCreator
     public static ProfanityMarker fromString(String name) {
         return fromString(name, ProfanityMarker.class);
     }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java
index 9fc2d94799ed..e0ae7f275543 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SentenceLength.java
@@ -5,31 +5,32 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * An object returning sentence boundaries in the input and output texts.
  */
 @Immutable
-public final class SentenceLength {
+public final class SentenceLength implements JsonSerializable {
 
     /*
-     * An integer array representing the lengths of the sentences in the input text.
+     * An integer array representing the lengths of the sentences in the input text. 
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      */
     @Generated
-    @JsonProperty(value = "srcSentLen")
-    private List srcSentLen;
+    private final List srcSentLen;
 
     /*
-     * An integer array representing the lengths of the sentences in the translated text.
+     * An integer array representing the lengths of the sentences in the translated text. 
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      */
     @Generated
-    @JsonProperty(value = "transSentLen")
-    private List transSentLen;
+    private final List transSentLen;
 
     /**
      * Creates an instance of SentenceLength class.
@@ -38,9 +39,7 @@ public final class SentenceLength {
      * @param transSentLen the transSentLen value to set.
      */
     @Generated
-    @JsonCreator
-    private SentenceLength(@JsonProperty(value = "srcSentLen") List srcSentLen,
-        @JsonProperty(value = "transSentLen") List transSentLen) {
+    private SentenceLength(List srcSentLen, List transSentLen) {
         this.srcSentLen = srcSentLen;
         this.transSentLen = transSentLen;
     }
@@ -57,8 +56,7 @@ public List getSrcSentLen() {
     }
 
     /**
-     * Get the transSentLen property: An integer array representing the lengths of the sentences in the translated
-     * text.
+     * Get the transSentLen property: An integer array representing the lengths of the sentences in the translated text.
      * The length of the array is the number of sentences, and the values are the length of each sentence.
      *
      * @return the transSentLen value.
@@ -67,4 +65,44 @@ public List getSrcSentLen() {
     public List getTransSentLen() {
         return this.transSentLen;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("srcSentLen", this.srcSentLen, (writer, element) -> writer.writeInt(element));
+        jsonWriter.writeArrayField("transSentLen", this.transSentLen, (writer, element) -> writer.writeInt(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SentenceLength from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SentenceLength if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the SentenceLength.
+     */
+    @Generated
+    public static SentenceLength fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List srcSentLen = null;
+            List transSentLen = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("srcSentLen".equals(fieldName)) {
+                    srcSentLen = reader.readArray(reader1 -> reader1.getInt());
+                } else if ("transSentLen".equals(fieldName)) {
+                    transSentLen = reader.readArray(reader1 -> reader1.getInt());
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new SentenceLength(srcSentLen, transSentLen);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java
index f660a145c232..99fabc9673c1 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceDictionaryLanguage.java
@@ -5,43 +5,42 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Properties ot the source dictionary language.
  */
 @Immutable
-public final class SourceDictionaryLanguage {
+public final class SourceDictionaryLanguage implements JsonSerializable {
 
     /*
      * Display name of the language in the locale requested via Accept-Language header.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
-    @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
-    @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /*
      * List of languages with alterative translations and examples for the query expressed in the source language.
      */
     @Generated
-    @JsonProperty(value = "translations")
-    private List translations;
+    private final List translations;
 
     /**
      * Creates an instance of SourceDictionaryLanguage class.
@@ -52,10 +51,8 @@ public final class SourceDictionaryLanguage {
      * @param translations the translations value to set.
      */
     @Generated
-    @JsonCreator
-    private SourceDictionaryLanguage(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "nativeName") String nativeName, @JsonProperty(value = "dir") String dir,
-        @JsonProperty(value = "translations") List translations) {
+    private SourceDictionaryLanguage(String name, String nativeName, String dir,
+        List translations) {
         this.name = name;
         this.nativeName = nativeName;
         this.dir = dir;
@@ -83,8 +80,7 @@ public String getNativeName() {
     }
 
     /**
-     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right
-     * languages.
+     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      *
      * @return the dir value.
      */
@@ -94,8 +90,7 @@ public String getDir() {
     }
 
     /**
-     * Get the translations property: List of languages with alterative translations and examples for the query
-     * expressed in the source language.
+     * Get the translations property: List of languages with alterative translations and examples for the query expressed in the source language.
      *
      * @return the translations value.
      */
@@ -103,4 +98,52 @@ public String getDir() {
     public List getTranslations() {
         return this.translations;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("nativeName", this.nativeName);
+        jsonWriter.writeStringField("dir", this.dir);
+        jsonWriter.writeArrayField("translations", this.translations, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SourceDictionaryLanguage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SourceDictionaryLanguage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the SourceDictionaryLanguage.
+     */
+    @Generated
+    public static SourceDictionaryLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String nativeName = null;
+            String dir = null;
+            List translations = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("nativeName".equals(fieldName)) {
+                    nativeName = reader.getString();
+                } else if ("dir".equals(fieldName)) {
+                    dir = reader.getString();
+                } else if ("translations".equals(fieldName)) {
+                    translations = reader.readArray(reader1 -> TargetDictionaryLanguage.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new SourceDictionaryLanguage(name, nativeName, dir, translations);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java
index 1ed0572ad995..f9eb870531f6 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/SourceText.java
@@ -5,21 +5,23 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Input text in the default script of the source language.
  */
 @Immutable
-public final class SourceText {
+public final class SourceText implements JsonSerializable {
 
     /*
      * Input text in the default script of the source language.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /**
      * Creates an instance of SourceText class.
@@ -27,8 +29,7 @@ public final class SourceText {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    private SourceText(@JsonProperty(value = "text") String text) {
+    private SourceText(String text) {
         this.text = text;
     }
 
@@ -41,4 +42,40 @@ private SourceText(@JsonProperty(value = "text") String text) {
     public String getText() {
         return this.text;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of SourceText from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of SourceText if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the SourceText.
+     */
+    @Generated
+    public static SourceText fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new SourceText(text);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java
index d822d8d0a7ba..8d3752ed506e 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TargetDictionaryLanguage.java
@@ -5,42 +5,41 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Properties of the target dictionary language.
  */
 @Immutable
-public final class TargetDictionaryLanguage {
+public final class TargetDictionaryLanguage implements JsonSerializable {
 
     /*
      * Display name of the language in the locale requested via Accept-Language header.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
-    @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
-    @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /*
      * Language code identifying the target language.
      */
     @Generated
-    @JsonProperty(value = "code")
-    private String code;
+    private final String code;
 
     /**
      * Creates an instance of TargetDictionaryLanguage class.
@@ -51,10 +50,7 @@ public final class TargetDictionaryLanguage {
      * @param code the code value to set.
      */
     @Generated
-    @JsonCreator
-    private TargetDictionaryLanguage(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "nativeName") String nativeName, @JsonProperty(value = "dir") String dir,
-        @JsonProperty(value = "code") String code) {
+    private TargetDictionaryLanguage(String name, String nativeName, String dir, String code) {
         this.name = name;
         this.nativeName = nativeName;
         this.dir = dir;
@@ -82,8 +78,7 @@ public String getNativeName() {
     }
 
     /**
-     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right
-     * languages.
+     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      *
      * @return the dir value.
      */
@@ -101,4 +96,52 @@ public String getDir() {
     public String getCode() {
         return this.code;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("nativeName", this.nativeName);
+        jsonWriter.writeStringField("dir", this.dir);
+        jsonWriter.writeStringField("code", this.code);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TargetDictionaryLanguage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TargetDictionaryLanguage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TargetDictionaryLanguage.
+     */
+    @Generated
+    public static TargetDictionaryLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String nativeName = null;
+            String dir = null;
+            String code = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("nativeName".equals(fieldName)) {
+                    nativeName = reader.getString();
+                } else if ("dir".equals(fieldName)) {
+                    dir = reader.getString();
+                } else if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TargetDictionaryLanguage(name, nativeName, dir, code);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java
index 5f9dc6882440..259cbb9ceaf1 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TextType.java
@@ -5,7 +5,6 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.util.ExpandableStringEnum;
-import com.fasterxml.jackson.annotation.JsonCreator;
 import java.util.Collection;
 
 /**
@@ -42,7 +41,6 @@ public TextType() {
      * @return the corresponding TextType.
      */
     @Generated
-    @JsonCreator
     public static TextType fromString(String name) {
         return fromString(name, TextType.class);
     }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java
index 298b999896e9..a80bcd881d4d 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextAlignment.java
@@ -5,26 +5,28 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Alignment information object.
  */
 @Immutable
-public final class TranslatedTextAlignment {
+public final class TranslatedTextAlignment implements JsonSerializable {
 
     /*
-     * Maps input text to translated text. The alignment information is only provided when the request
-     * parameter includeAlignment is true. Alignment is returned as a string value of the following
-     * format: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]].
-     * The colon separates start and end index, the dash separates the languages, and space separates the words.
-     * One word may align with zero, one, or multiple words in the other language, and the aligned words may
+     * Maps input text to translated text. The alignment information is only provided when the request 
+     * parameter includeAlignment is true. Alignment is returned as a string value of the following 
+     * format: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]. 
+     * The colon separates start and end index, the dash separates the languages, and space separates the words. 
+     * One word may align with zero, one, or multiple words in the other language, and the aligned words may 
      * be non-contiguous. When no alignment information is available, the alignment element will be empty.
      */
     @Generated
-    @JsonProperty(value = "proj")
-    private String proj;
+    private final String proj;
 
     /**
      * Creates an instance of TranslatedTextAlignment class.
@@ -32,14 +34,12 @@ public final class TranslatedTextAlignment {
      * @param proj the proj value to set.
      */
     @Generated
-    @JsonCreator
-    private TranslatedTextAlignment(@JsonProperty(value = "proj") String proj) {
+    private TranslatedTextAlignment(String proj) {
         this.proj = proj;
     }
 
     /**
-     * Get the proj property: Maps input text to translated text. The alignment information is only provided when the
-     * request
+     * Get the proj property: Maps input text to translated text. The alignment information is only provided when the request
      * parameter includeAlignment is true. Alignment is returned as a string value of the following
      * format: [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]].
      * The colon separates start and end index, the dash separates the languages, and space separates the words.
@@ -52,4 +52,40 @@ private TranslatedTextAlignment(@JsonProperty(value = "proj") String proj) {
     public String getProj() {
         return this.proj;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("proj", this.proj);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TranslatedTextAlignment from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TranslatedTextAlignment if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TranslatedTextAlignment.
+     */
+    @Generated
+    public static TranslatedTextAlignment fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String proj = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("proj".equals(fieldName)) {
+                    proj = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TranslatedTextAlignment(proj);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java
index 5b3466e0cdf0..1043cbda255d 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslatedTextItem.java
@@ -5,39 +5,39 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
  * Element containing the translated text.
  */
 @Immutable
-public final class TranslatedTextItem {
+public final class TranslatedTextItem implements JsonSerializable {
 
     /*
      * The detectedLanguage property is only present in the result object when language auto-detection is requested.
      */
     @Generated
-    @JsonProperty(value = "detectedLanguage")
     private DetectedLanguage detectedLanguage;
 
     /*
-     * An array of translation results. The size of the array matches the number of target
+     * An array of translation results. The size of the array matches the number of target 
      * languages specified through the to query parameter.
      */
     @Generated
-    @JsonProperty(value = "translations")
-    private List translations;
+    private final List translations;
 
     /*
-     * Input text in the default script of the source language. sourceText property is present only when
-     * the input is expressed in a script that's not the usual script for the language. For example,
-     * if the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text
+     * Input text in the default script of the source language. sourceText property is present only when 
+     * the input is expressed in a script that's not the usual script for the language. For example, 
+     * if the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text 
      * converted into Arab script.
      */
     @Generated
-    @JsonProperty(value = "sourceText")
     private SourceText sourceText;
 
     /**
@@ -46,14 +46,12 @@ public final class TranslatedTextItem {
      * @param translations the translations value to set.
      */
     @Generated
-    @JsonCreator
-    private TranslatedTextItem(@JsonProperty(value = "translations") List translations) {
+    private TranslatedTextItem(List translations) {
         this.translations = translations;
     }
 
     /**
-     * Get the detectedLanguage property: The detectedLanguage property is only present in the result object when
-     * language auto-detection is requested.
+     * Get the detectedLanguage property: The detectedLanguage property is only present in the result object when language auto-detection is requested.
      *
      * @return the detectedLanguage value.
      */
@@ -63,8 +61,7 @@ public DetectedLanguage getDetectedLanguage() {
     }
 
     /**
-     * Get the translations property: An array of translation results. The size of the array matches the number of
-     * target
+     * Get the translations property: An array of translation results. The size of the array matches the number of target
      * languages specified through the to query parameter.
      *
      * @return the translations value.
@@ -75,8 +72,7 @@ public List getTranslations() {
     }
 
     /**
-     * Get the sourceText property: Input text in the default script of the source language. sourceText property is
-     * present only when
+     * Get the sourceText property: Input text in the default script of the source language. sourceText property is present only when
      * the input is expressed in a script that's not the usual script for the language. For example,
      * if the input were Arabic written in Latin script, then sourceText.text would be the same Arabic text
      * converted into Arab script.
@@ -87,4 +83,51 @@ public List getTranslations() {
     public SourceText getSourceText() {
         return this.sourceText;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeArrayField("translations", this.translations, (writer, element) -> writer.writeJson(element));
+        jsonWriter.writeJsonField("detectedLanguage", this.detectedLanguage);
+        jsonWriter.writeJsonField("sourceText", this.sourceText);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TranslatedTextItem from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TranslatedTextItem if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TranslatedTextItem.
+     */
+    @Generated
+    public static TranslatedTextItem fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            List translations = null;
+            DetectedLanguage detectedLanguage = null;
+            SourceText sourceText = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("translations".equals(fieldName)) {
+                    translations = reader.readArray(reader1 -> Translation.fromJson(reader1));
+                } else if ("detectedLanguage".equals(fieldName)) {
+                    detectedLanguage = DetectedLanguage.fromJson(reader);
+                } else if ("sourceText".equals(fieldName)) {
+                    sourceText = SourceText.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            TranslatedTextItem deserializedTranslatedTextItem = new TranslatedTextItem(translations);
+            deserializedTranslatedTextItem.detectedLanguage = detectedLanguage;
+            deserializedTranslatedTextItem.sourceText = sourceText;
+            return deserializedTranslatedTextItem;
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java
index 3a8d349f3078..b49317f2777f 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/Translation.java
@@ -5,48 +5,46 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Translation result.
  */
 @Immutable
-public final class Translation {
+public final class Translation implements JsonSerializable {
 
     /*
      * A string representing the language code of the target language.
      */
     @Generated
-    @JsonProperty(value = "to")
-    private String to;
+    private final String to;
 
     /*
      * A string giving the translated text.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
      * An object giving the translated text in the script specified by the toScript parameter.
      */
     @Generated
-    @JsonProperty(value = "transliteration")
     private TransliteratedText transliteration;
 
     /*
      * Alignment information.
      */
     @Generated
-    @JsonProperty(value = "alignment")
     private TranslatedTextAlignment alignment;
 
     /*
      * Sentence boundaries in the input and output texts.
      */
     @Generated
-    @JsonProperty(value = "sentLen")
     private SentenceLength sentLen;
 
     /**
@@ -56,8 +54,7 @@ public final class Translation {
      * @param text the text value to set.
      */
     @Generated
-    @JsonCreator
-    private Translation(@JsonProperty(value = "to") String to, @JsonProperty(value = "text") String text) {
+    private Translation(String to, String text) {
         this.to = to;
         this.text = text;
     }
@@ -83,8 +80,7 @@ public String getText() {
     }
 
     /**
-     * Get the transliteration property: An object giving the translated text in the script specified by the toScript
-     * parameter.
+     * Get the transliteration property: An object giving the translated text in the script specified by the toScript parameter.
      *
      * @return the transliteration value.
      */
@@ -112,4 +108,60 @@ public TranslatedTextAlignment getAlignment() {
     public SentenceLength getSentLen() {
         return this.sentLen;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("to", this.to);
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeJsonField("transliteration", this.transliteration);
+        jsonWriter.writeJsonField("alignment", this.alignment);
+        jsonWriter.writeJsonField("sentLen", this.sentLen);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of Translation from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of Translation if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the Translation.
+     */
+    @Generated
+    public static Translation fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String to = null;
+            String text = null;
+            TransliteratedText transliteration = null;
+            TranslatedTextAlignment alignment = null;
+            SentenceLength sentLen = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("to".equals(fieldName)) {
+                    to = reader.getString();
+                } else if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("transliteration".equals(fieldName)) {
+                    transliteration = TransliteratedText.fromJson(reader);
+                } else if ("alignment".equals(fieldName)) {
+                    alignment = TranslatedTextAlignment.fromJson(reader);
+                } else if ("sentLen".equals(fieldName)) {
+                    sentLen = SentenceLength.fromJson(reader);
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            Translation deserializedTranslation = new Translation(to, text);
+            deserializedTranslation.transliteration = transliteration;
+            deserializedTranslation.alignment = alignment;
+            deserializedTranslation.sentLen = sentLen;
+            return deserializedTranslation;
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java
index b01b322f0365..c766510a8a55 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TranslationLanguage.java
@@ -5,36 +5,36 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * The value of the translation property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag.
  * A key identifies a language for which text can be translated to or translated from.
  */
 @Immutable
-public final class TranslationLanguage {
+public final class TranslationLanguage implements JsonSerializable {
 
     /*
      * Display name of the language in the locale requested via Accept-Language header.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
-    @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      */
     @Generated
-    @JsonProperty(value = "dir")
-    private String dir;
+    private final String dir;
 
     /**
      * Creates an instance of TranslationLanguage class.
@@ -44,9 +44,7 @@ public final class TranslationLanguage {
      * @param dir the dir value to set.
      */
     @Generated
-    @JsonCreator
-    private TranslationLanguage(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "nativeName") String nativeName, @JsonProperty(value = "dir") String dir) {
+    private TranslationLanguage(String name, String nativeName, String dir) {
         this.name = name;
         this.nativeName = nativeName;
         this.dir = dir;
@@ -73,8 +71,7 @@ public String getNativeName() {
     }
 
     /**
-     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right
-     * languages.
+     * Get the dir property: Directionality, which is rtl for right-to-left languages or ltr for left-to-right languages.
      *
      * @return the dir value.
      */
@@ -82,4 +79,48 @@ public String getNativeName() {
     public String getDir() {
         return this.dir;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("nativeName", this.nativeName);
+        jsonWriter.writeStringField("dir", this.dir);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TranslationLanguage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TranslationLanguage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TranslationLanguage.
+     */
+    @Generated
+    public static TranslationLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String nativeName = null;
+            String dir = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("nativeName".equals(fieldName)) {
+                    nativeName = reader.getString();
+                } else if ("dir".equals(fieldName)) {
+                    dir = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TranslationLanguage(name, nativeName, dir);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java
index 9c12d18c1045..23254f7da183 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterableScript.java
@@ -5,8 +5,10 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -19,8 +21,7 @@ public final class TransliterableScript extends CommonScriptModel {
      * List of scripts available to convert text to.
      */
     @Generated
-    @JsonProperty(value = "toScripts")
-    private List toScripts;
+    private final List toScripts;
 
     /**
      * Creates an instance of TransliterableScript class.
@@ -32,10 +33,8 @@ public final class TransliterableScript extends CommonScriptModel {
      * @param toScripts the toScripts value to set.
      */
     @Generated
-    @JsonCreator
-    private TransliterableScript(@JsonProperty(value = "code") String code, @JsonProperty(value = "name") String name,
-        @JsonProperty(value = "nativeName") String nativeName, @JsonProperty(value = "dir") String dir,
-        @JsonProperty(value = "toScripts") List toScripts) {
+    private TransliterableScript(String code, String name, String nativeName, String dir,
+        List toScripts) {
         super(code, name, nativeName, dir);
         this.toScripts = toScripts;
     }
@@ -49,4 +48,56 @@ private TransliterableScript(@JsonProperty(value = "code") String code, @JsonPro
     public List getToScripts() {
         return this.toScripts;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("code", getCode());
+        jsonWriter.writeStringField("name", getName());
+        jsonWriter.writeStringField("nativeName", getNativeName());
+        jsonWriter.writeStringField("dir", getDir());
+        jsonWriter.writeArrayField("toScripts", this.toScripts, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TransliterableScript from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TransliterableScript if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TransliterableScript.
+     */
+    @Generated
+    public static TransliterableScript fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String code = null;
+            String name = null;
+            String nativeName = null;
+            String dir = null;
+            List toScripts = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("code".equals(fieldName)) {
+                    code = reader.getString();
+                } else if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("nativeName".equals(fieldName)) {
+                    nativeName = reader.getString();
+                } else if ("dir".equals(fieldName)) {
+                    dir = reader.getString();
+                } else if ("toScripts".equals(fieldName)) {
+                    toScripts = reader.readArray(reader1 -> CommonScriptModel.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TransliterableScript(code, name, nativeName, dir, toScripts);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java
index ab9fd772d7ae..a11fc5cd8e76 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliteratedText.java
@@ -5,28 +5,29 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 
 /**
  * Transliterated text element.
  */
 @Immutable
-public final class TransliteratedText {
+public final class TransliteratedText implements JsonSerializable {
 
     /*
      * A string which is the result of converting the input string to the output script.
      */
     @Generated
-    @JsonProperty(value = "text")
-    private String text;
+    private final String text;
 
     /*
      * A string specifying the script used in the output.
      */
     @Generated
-    @JsonProperty(value = "script")
-    private String script;
+    private final String script;
 
     /**
      * Creates an instance of TransliteratedText class.
@@ -35,9 +36,7 @@ public final class TransliteratedText {
      * @param script the script value to set.
      */
     @Generated
-    @JsonCreator
-    private TransliteratedText(@JsonProperty(value = "text") String text,
-        @JsonProperty(value = "script") String script) {
+    private TransliteratedText(String text, String script) {
         this.text = text;
         this.script = script;
     }
@@ -61,4 +60,44 @@ public String getText() {
     public String getScript() {
         return this.script;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("text", this.text);
+        jsonWriter.writeStringField("script", this.script);
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TransliteratedText from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TransliteratedText if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TransliteratedText.
+     */
+    @Generated
+    public static TransliteratedText fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String text = null;
+            String script = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("text".equals(fieldName)) {
+                    text = reader.getString();
+                } else if ("script".equals(fieldName)) {
+                    script = reader.getString();
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TransliteratedText(text, script);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java
index ed4042cdfce5..4a869d3b246e 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/com/azure/ai/translation/text/models/TransliterationLanguage.java
@@ -5,8 +5,11 @@
 
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonProperty;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -15,28 +18,25 @@
  * to another script.
  */
 @Immutable
-public final class TransliterationLanguage {
+public final class TransliterationLanguage implements JsonSerializable {
 
     /*
      * Display name of the language in the locale requested via Accept-Language header.
      */
     @Generated
-    @JsonProperty(value = "name")
-    private String name;
+    private final String name;
 
     /*
      * Display name of the language in the locale native for this language.
      */
     @Generated
-    @JsonProperty(value = "nativeName")
-    private String nativeName;
+    private final String nativeName;
 
     /*
      * List of scripts to convert from.
      */
     @Generated
-    @JsonProperty(value = "scripts")
-    private List scripts;
+    private final List scripts;
 
     /**
      * Creates an instance of TransliterationLanguage class.
@@ -46,10 +46,7 @@ public final class TransliterationLanguage {
      * @param scripts the scripts value to set.
      */
     @Generated
-    @JsonCreator
-    private TransliterationLanguage(@JsonProperty(value = "name") String name,
-        @JsonProperty(value = "nativeName") String nativeName,
-        @JsonProperty(value = "scripts") List scripts) {
+    private TransliterationLanguage(String name, String nativeName, List scripts) {
         this.name = name;
         this.nativeName = nativeName;
         this.scripts = scripts;
@@ -84,4 +81,48 @@ public String getNativeName() {
     public List getScripts() {
         return this.scripts;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Generated
+    @Override
+    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+        jsonWriter.writeStartObject();
+        jsonWriter.writeStringField("name", this.name);
+        jsonWriter.writeStringField("nativeName", this.nativeName);
+        jsonWriter.writeArrayField("scripts", this.scripts, (writer, element) -> writer.writeJson(element));
+        return jsonWriter.writeEndObject();
+    }
+
+    /**
+     * Reads an instance of TransliterationLanguage from the JsonReader.
+     *
+     * @param jsonReader The JsonReader being read.
+     * @return An instance of TransliterationLanguage if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
+     * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+     * @throws IOException If an error occurs while reading the TransliterationLanguage.
+     */
+    @Generated
+    public static TransliterationLanguage fromJson(JsonReader jsonReader) throws IOException {
+        return jsonReader.readObject(reader -> {
+            String name = null;
+            String nativeName = null;
+            List scripts = null;
+            while (reader.nextToken() != JsonToken.END_OBJECT) {
+                String fieldName = reader.getFieldName();
+                reader.nextToken();
+                if ("name".equals(fieldName)) {
+                    name = reader.getString();
+                } else if ("nativeName".equals(fieldName)) {
+                    nativeName = reader.getString();
+                } else if ("scripts".equals(fieldName)) {
+                    scripts = reader.readArray(reader1 -> TransliterableScript.fromJson(reader1));
+                } else {
+                    reader.skipChildren();
+                }
+            }
+            return new TransliterationLanguage(name, nativeName, scripts);
+        });
+    }
 }
diff --git a/sdk/translation/azure-ai-translation-text/src/main/java/module-info.java b/sdk/translation/azure-ai-translation-text/src/main/java/module-info.java
index 353048edb247..21c3eecc7273 100644
--- a/sdk/translation/azure-ai-translation-text/src/main/java/module-info.java
+++ b/sdk/translation/azure-ai-translation-text/src/main/java/module-info.java
@@ -4,7 +4,9 @@
 
 module com.azure.ai.translation.text {
     requires transitive com.azure.core;
+    requires transitive com.azure.json;
     exports com.azure.ai.translation.text;
     exports com.azure.ai.translation.text.models;
+    opens com.azure.ai.translation.text.models to com.azure.core;
     opens com.azure.ai.translation.text.models to com.azure.core, com.fasterxml.jackson.databind;
 }