From ac2756fe497af5064ca44eea527711e06de653fa Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Tue, 6 Feb 2024 02:14:35 +0000 Subject: [PATCH] CodeGen from PR 26702 in Azure/azure-rest-api-specs Merge 6d23227576fbe0a89939411c913a474cc46f05d8 into f984ae525c5eaffa551075b27d87925f9f73c2d0 --- eng/versioning/version_client.txt | 1 + .../CHANGELOG.md | 13 + .../azure-analytics-purview-datamap/README.md | 65 + .../assets.json | 6 + .../azure-analytics-purview-datamap/pom.xml | 89 + .../purview/datamap/DataMapClientBuilder.java | 438 + .../purview/datamap/DiscoveryAsyncClient.java | 384 + .../purview/datamap/DiscoveryClient.java | 381 + .../purview/datamap/EntityAsyncClient.java | 4270 +++++++++ .../purview/datamap/EntityClient.java | 4191 +++++++++ .../purview/datamap/GlossaryAsyncClient.java | 5044 ++++++++++ .../purview/datamap/GlossaryClient.java | 5002 ++++++++++ .../purview/datamap/LineageAsyncClient.java | 625 ++ .../purview/datamap/LineageClient.java | 619 ++ .../datamap/PurviewDataMapServiceVersion.java | 40 + .../datamap/RelationshipAsyncClient.java | 443 + .../purview/datamap/RelationshipClient.java | 437 + .../datamap/TypeDefinitionAsyncClient.java | 4290 +++++++++ .../purview/datamap/TypeDefinitionClient.java | 4253 +++++++++ .../implementation/DataMapClientImpl.java | 201 + .../implementation/DiscoveriesImpl.java | 692 ++ .../datamap/implementation/EntitiesImpl.java | 6234 +++++++++++++ .../implementation/GlossariesImpl.java | 8311 +++++++++++++++++ .../datamap/implementation/LineagesImpl.java | 937 ++ .../MultipartFormDataHelper.java | 216 + .../implementation/RelationshipsImpl.java | 744 ++ .../implementation/TypeDefinitionsImpl.java | 7945 ++++++++++++++++ .../models/ImportBusinessMetadataRequest.java | 41 + .../implementation/models/package-info.java | 12 + .../datamap/implementation/package-info.java | 12 + .../datamap/models/AtlasAttributeDef.java | 401 + .../models/AtlasBusinessMetadataDef.java | 459 + .../datamap/models/AtlasClassification.java | 233 + .../models/AtlasClassificationDef.java | 607 ++ .../datamap/models/AtlasClassifications.java | 125 + .../datamap/models/AtlasConstraintDef.java | 81 + .../models/AtlasEntitiesWithExtInfo.java | 83 + .../purview/datamap/models/AtlasEntity.java | 653 ++ .../datamap/models/AtlasEntityDef.java | 546 ++ .../datamap/models/AtlasEntityHeader.java | 375 + .../datamap/models/AtlasEntityHeaders.java | 52 + .../models/AtlasEntityWithExtInfo.java | 82 + .../purview/datamap/models/AtlasEnumDef.java | 488 + .../datamap/models/AtlasEnumElementDef.java | 109 + .../purview/datamap/models/AtlasGlossary.java | 458 + .../datamap/models/AtlasGlossaryCategory.java | 458 + .../datamap/models/AtlasGlossaryExtInfo.java | 313 + .../datamap/models/AtlasGlossaryHeader.java | 109 + .../datamap/models/AtlasGlossaryTerm.java | 1105 +++ .../datamap/models/AtlasLineageInfo.java | 177 + .../purview/datamap/models/AtlasObjectId.java | 110 + .../models/AtlasRelatedCategoryHeader.java | 167 + .../datamap/models/AtlasRelatedObjectId.java | 293 + .../models/AtlasRelatedTermHeader.java | 225 + .../datamap/models/AtlasRelationship.java | 458 + .../models/AtlasRelationshipAttributeDef.java | 462 + .../datamap/models/AtlasRelationshipDef.java | 651 ++ .../models/AtlasRelationshipEndDef.java | 199 + .../models/AtlasRelationshipWithExtInfo.java | 57 + .../purview/datamap/models/AtlasStruct.java | 111 + .../datamap/models/AtlasStructDef.java | 459 + .../models/AtlasTermAssignmentHeader.java | 283 + .../models/AtlasTermAssignmentStatus.java | 89 + .../models/AtlasTermCategorizationHeader.java | 167 + .../models/AtlasTermRelationshipStatus.java | 77 + .../purview/datamap/models/AtlasTypeDef.java | 520 ++ .../datamap/models/AtlasTypeDefHeader.java | 73 + .../purview/datamap/models/AtlasTypesDef.java | 226 + .../datamap/models/AutoCompleteOptions.java | 115 + .../datamap/models/AutoCompleteResult.java | 40 + .../models/AutoCompleteResultValue.java | 56 + .../datamap/models/BulkImportResult.java | 57 + .../BusinessAttributeUpdateBehavior.java | 65 + .../datamap/models/CardinalityValue.java | 65 + .../ClassificationAssociateOptions.java | 84 + .../purview/datamap/models/ContactInfo.java | 80 + .../models/ContactSearchResultValue.java | 75 + .../purview/datamap/models/DateFormat.java | 284 + .../datamap/models/EntityMutationResult.java | 75 + .../purview/datamap/models/EntityStatus.java | 59 + .../purview/datamap/models/FileDetails.java | 97 + .../purview/datamap/models/ImportInfo.java | 90 + .../purview/datamap/models/ImportStatus.java | 59 + .../datamap/models/LineageDirection.java | 65 + .../datamap/models/LineageRelation.java | 73 + .../datamap/models/MoveEntitiesOptions.java | 52 + .../purview/datamap/models/NumberFormat.java | 429 + .../datamap/models/ParentRelation.java | 73 + .../datamap/models/PurviewObjectId.java | 255 + .../purview/datamap/models/QueryOptions.java | 232 + .../purview/datamap/models/QueryResult.java | 114 + .../datamap/models/RelationshipCategory.java | 65 + .../purview/datamap/models/ResourceLink.java | 80 + .../purview/datamap/models/RoundingMode.java | 95 + .../datamap/models/SearchFacetItem.java | 109 + .../datamap/models/SearchFacetItemValue.java | 56 + .../models/SearchFacetResultValue.java | 195 + .../datamap/models/SearchFacetSort.java | 80 + .../datamap/models/SearchHighlights.java | 111 + .../datamap/models/SearchResultValue.java | 411 + .../datamap/models/SearchSortOrder.java | 59 + .../datamap/models/SearchTaxonomySetting.java | 81 + .../purview/datamap/models/SortType.java | 65 + .../models/StatusAtlasRelationship.java | 59 + .../datamap/models/SuggestOptions.java | 121 + .../purview/datamap/models/SuggestResult.java | 40 + .../datamap/models/SuggestResultValue.java | 405 + .../datamap/models/TermSearchResultValue.java | 73 + .../purview/datamap/models/TermStatus.java | 71 + .../datamap/models/TermTemplateDef.java | 459 + .../purview/datamap/models/TimeBoundary.java | 109 + .../purview/datamap/models/TimeZone.java | 197 + .../purview/datamap/models/TypeCategory.java | 107 + .../purview/datamap/models/package-info.java | 12 + .../purview/datamap/package-info.java | 12 + .../src/main/java/module-info.java | 11 + ...azure-analytics-purview-datamap.properties | 2 + .../purview/datamap/ReadmeSamples.java | 12 + .../generated/DataMapClientTestBase.java | 135 + .../tsp-location.yaml | 5 + sdk/purview/ci.yml | 9 +- sdk/purview/pom.xml | 1 + 122 files changed, 73317 insertions(+), 1 deletion(-) create mode 100644 sdk/purview/azure-analytics-purview-datamap/CHANGELOG.md create mode 100644 sdk/purview/azure-analytics-purview-datamap/README.md create mode 100644 sdk/purview/azure-analytics-purview-datamap/assets.json create mode 100644 sdk/purview/azure-analytics-purview-datamap/pom.xml create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapServiceVersion.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DataMapClientImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/ImportBusinessMetadataRequest.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/package-info.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/package-info.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/package-info.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/package-info.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/main/resources/azure-analytics-purview-datamap.properties create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/samples/java/com/azure/analytics/purview/datamap/ReadmeSamples.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/DataMapClientTestBase.java create mode 100644 sdk/purview/azure-analytics-purview-datamap/tsp-location.yaml diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 2e9c29aff69a1..4b3d3e6f69991 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -197,6 +197,7 @@ com.azure:azure-verticals-agrifood-farming;1.0.0-beta.3;1.0.0-beta.4 com.azure:azure-xml;1.0.0-beta.2;1.0.0-beta.3 com.azure:perf-test-core;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-ai-vision-imageanalysis;1.0.0-beta.1;1.0.0-beta.2 +com.azure:azure-analytics-purview-datamap;1.0.0-beta.1;1.0.0-beta.1 com.azure.spring:azure-monitor-spring-native;1.0.0-beta.1;1.0.0-beta.1 com.azure.spring:azure-monitor-spring-native-test;1.0.0-beta.1;1.0.0-beta.1 com.azure.spring:spring-cloud-azure-appconfiguration-config-web;4.15.0;4.16.0-beta.1 diff --git a/sdk/purview/azure-analytics-purview-datamap/CHANGELOG.md b/sdk/purview/azure-analytics-purview-datamap/CHANGELOG.md new file mode 100644 index 0000000000000..f8126f8f5865c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/CHANGELOG.md @@ -0,0 +1,13 @@ +# Release History + +## 1.0.0-beta.1 (Unreleased) + +- Azure PurviewDataMap client library for Java. This package contains Microsoft Azure PurviewDataMap client library. + +### Features Added + +### Breaking Changes + +### Bugs Fixed + +### Other Changes diff --git a/sdk/purview/azure-analytics-purview-datamap/README.md b/sdk/purview/azure-analytics-purview-datamap/README.md new file mode 100644 index 0000000000000..4e7e9af0c3882 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/README.md @@ -0,0 +1,65 @@ +# Azure PurviewDataMap client library for Java + +Azure PurviewDataMap client library for Java. + +This package contains Microsoft Azure PurviewDataMap client library. + +## Documentation + +Various documentation is available to help you get started + +- [API reference documentation][docs] +- [Product documentation][product_documentation] + +## Getting started + +### Prerequisites + +- [Java Development Kit (JDK)][jdk] with version 8 or above +- [Azure Subscription][azure_subscription] + +### Adding the package to your product + +[//]: # ({x-version-update-start;com.azure:azure-analytics-purview-datamap;current}) +```xml + + com.azure + azure-analytics-purview-datamap + 1.0.0-beta.1 + +``` +[//]: # ({x-version-update-end}) + +### Authentication + +[Azure Identity][azure_identity] package provides the default implementation for authenticating the client. + +## Key concepts + +## Examples + +```java com.azure.analytics.purview.datamap.readme +``` + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md). + +1. Fork it +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Commit your changes (`git commit -am 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new Pull Request + + +[product_documentation]: https://azure.microsoft.com/services/ +[docs]: https://azure.github.io/azure-sdk-for-java/ +[jdk]: https://learn.microsoft.com/azure/developer/java/fundamentals/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity + +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-java%2Fsdk%2Fpurview%2Fazure-analytics-purview-datamap%2FREADME.png) diff --git a/sdk/purview/azure-analytics-purview-datamap/assets.json b/sdk/purview/azure-analytics-purview-datamap/assets.json new file mode 100644 index 0000000000000..59ab8eb0b0ab1 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo" : "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath" : "java", + "TagPrefix" : "java/purview/azure-analytics-purview-datamap", + "Tag" : "" +} \ No newline at end of file diff --git a/sdk/purview/azure-analytics-purview-datamap/pom.xml b/sdk/purview/azure-analytics-purview-datamap/pom.xml new file mode 100644 index 0000000000000..5a120fe7f95b6 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/pom.xml @@ -0,0 +1,89 @@ + + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure + azure-analytics-purview-datamap + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for PurviewDataMap + This package contains Microsoft Azure PurviewDataMap client library. + https://github.com/Azure/azure-sdk-for-java + + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + + + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + + + + com.azure + azure-core + 1.46.0 + + + com.azure + azure-core-http-netty + 1.14.0 + + + org.junit.jupiter + junit-jupiter-api + 5.9.3 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.9.3 + test + + + com.azure + azure-core-test + 1.23.0 + test + + + com.azure + azure-identity + 1.11.1 + test + + + org.slf4j + slf4j-simple + 1.7.36 + test + + + diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java new file mode 100644 index 0000000000000..946d7c9917545 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DataMapClientBuilder.java @@ -0,0 +1,438 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.DataMapClientImpl; +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.TokenCredentialTrait; +import com.azure.core.credential.TokenCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +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.BearerTokenAuthenticationPolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.serializer.JacksonAdapter; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A builder for creating a new instance of the DataMapClient type. + */ +@ServiceClientBuilder( + serviceClients = { + EntityClient.class, + GlossaryClient.class, + DiscoveryClient.class, + LineageClient.class, + RelationshipClient.class, + TypeDefinitionClient.class, + EntityAsyncClient.class, + GlossaryAsyncClient.class, + DiscoveryAsyncClient.class, + LineageAsyncClient.class, + RelationshipAsyncClient.class, + TypeDefinitionAsyncClient.class }) +public final class DataMapClientBuilder + implements HttpTrait, ConfigurationTrait, + TokenCredentialTrait, EndpointTrait { + @Generated + private static final String SDK_NAME = "name"; + + @Generated + private static final String SDK_VERSION = "version"; + + @Generated + private static final String[] DEFAULT_SCOPES = new String[] { "https://purview.azure.net/.default" }; + + @Generated + private static final Map PROPERTIES + = CoreUtils.getProperties("azure-analytics-purview-datamap.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the DataMapClientBuilder. + */ + @Generated + public DataMapClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder pipeline(HttpPipeline pipeline) { + if (this.pipeline != null && pipeline == null) { + LOGGER.info("HttpPipeline is being set to 'null' when it was previously configured."); + } + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated + private HttpClient httpClient; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated + private ClientOptions clientOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated + private RetryOptions retryOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + Objects.requireNonNull(customPolicy, "'customPolicy' cannot be null."); + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated + private Configuration configuration; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The TokenCredential used for authentication. + */ + @Generated + private TokenCredential tokenCredential; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder credential(TokenCredential tokenCredential) { + this.tokenCredential = tokenCredential; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public DataMapClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PurviewDataMapServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the DataMapClientBuilder. + */ + @Generated + public DataMapClientBuilder serviceVersion(PurviewDataMapServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if applicable. + */ + @Generated + private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the DataMapClientBuilder. + */ + @Generated + public DataMapClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of DataMapClientImpl with the provided parameters. + * + * @return an instance of DataMapClientImpl. + */ + @Generated + private DataMapClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PurviewDataMapServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PurviewDataMapServiceVersion.getLatest(); + DataMapClientImpl client = new DataMapClientImpl(localPipeline, JacksonAdapter.createDefaultSerializerAdapter(), + this.endpoint, localServiceVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration + = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + HttpLogOptions localHttpLogOptions = this.httpLogOptions == null ? new HttpLogOptions() : this.httpLogOptions; + ClientOptions localClientOptions = this.clientOptions == null ? new ClientOptions() : this.clientOptions; + List policies = new ArrayList<>(); + String clientName = PROPERTIES.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(localClientOptions, localHttpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + localClientOptions.getHeaders() + .forEach(header -> headers.set(HttpHeaderName.fromString(header.getName()), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + 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 (tokenCredential != null) { + policies.add(new BearerTokenAuthenticationPolicy(tokenCredential, DEFAULT_SCOPES)); + } + 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(); + return httpPipeline; + } + + /** + * Builds an instance of EntityAsyncClient class. + * + * @return an instance of EntityAsyncClient. + */ + @Generated + public EntityAsyncClient buildEntityAsyncClient() { + return new EntityAsyncClient(buildInnerClient().getEntities()); + } + + /** + * Builds an instance of GlossaryAsyncClient class. + * + * @return an instance of GlossaryAsyncClient. + */ + @Generated + public GlossaryAsyncClient buildGlossaryAsyncClient() { + return new GlossaryAsyncClient(buildInnerClient().getGlossaries()); + } + + /** + * Builds an instance of DiscoveryAsyncClient class. + * + * @return an instance of DiscoveryAsyncClient. + */ + @Generated + public DiscoveryAsyncClient buildDiscoveryAsyncClient() { + return new DiscoveryAsyncClient(buildInnerClient().getDiscoveries()); + } + + /** + * Builds an instance of LineageAsyncClient class. + * + * @return an instance of LineageAsyncClient. + */ + @Generated + public LineageAsyncClient buildLineageAsyncClient() { + return new LineageAsyncClient(buildInnerClient().getLineages()); + } + + /** + * Builds an instance of RelationshipAsyncClient class. + * + * @return an instance of RelationshipAsyncClient. + */ + @Generated + public RelationshipAsyncClient buildRelationshipAsyncClient() { + return new RelationshipAsyncClient(buildInnerClient().getRelationships()); + } + + /** + * Builds an instance of TypeDefinitionAsyncClient class. + * + * @return an instance of TypeDefinitionAsyncClient. + */ + @Generated + public TypeDefinitionAsyncClient buildTypeDefinitionAsyncClient() { + return new TypeDefinitionAsyncClient(buildInnerClient().getTypeDefinitions()); + } + + /** + * Builds an instance of EntityClient class. + * + * @return an instance of EntityClient. + */ + @Generated + public EntityClient buildEntityClient() { + return new EntityClient(buildInnerClient().getEntities()); + } + + /** + * Builds an instance of GlossaryClient class. + * + * @return an instance of GlossaryClient. + */ + @Generated + public GlossaryClient buildGlossaryClient() { + return new GlossaryClient(buildInnerClient().getGlossaries()); + } + + /** + * Builds an instance of DiscoveryClient class. + * + * @return an instance of DiscoveryClient. + */ + @Generated + public DiscoveryClient buildDiscoveryClient() { + return new DiscoveryClient(buildInnerClient().getDiscoveries()); + } + + /** + * Builds an instance of LineageClient class. + * + * @return an instance of LineageClient. + */ + @Generated + public LineageClient buildLineageClient() { + return new LineageClient(buildInnerClient().getLineages()); + } + + /** + * Builds an instance of RelationshipClient class. + * + * @return an instance of RelationshipClient. + */ + @Generated + public RelationshipClient buildRelationshipClient() { + return new RelationshipClient(buildInnerClient().getRelationships()); + } + + /** + * Builds an instance of TypeDefinitionClient class. + * + * @return an instance of TypeDefinitionClient. + */ + @Generated + public TypeDefinitionClient buildTypeDefinitionClient() { + return new TypeDefinitionClient(buildInnerClient().getTypeDefinitions()); + } + + private static final ClientLogger LOGGER = new ClientLogger(DataMapClientBuilder.class); +} 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 new file mode 100644 index 0000000000000..7185af3317cc2 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryAsyncClient.java @@ -0,0 +1,384 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.DiscoveriesImpl; +import com.azure.analytics.purview.datamap.models.AutoCompleteOptions; +import com.azure.analytics.purview.datamap.models.AutoCompleteResult; +import com.azure.analytics.purview.datamap.models.QueryOptions; +import com.azure.analytics.purview.datamap.models.QueryResult; +import com.azure.analytics.purview.datamap.models.SuggestOptions; +import com.azure.analytics.purview.datamap.models.SuggestResult; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class, isAsync = true) +public final class DiscoveryAsyncClient { + @Generated + private final DiscoveriesImpl serviceClient; + + /** + * Initializes an instance of DiscoveryAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + DiscoveryAsyncClient(DiscoveriesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get data using search. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     continuationToken: String (Optional)
+     *     orderby (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     filter: Object (Optional)
+     *     facets (Optional): [
+     *          (Optional){
+     *             count: Integer (Optional)
+     *             facet: String (Optional)
+     *             sort (Optional): {
+     *                 count: String(asc/desc) (Optional)
+     *                 value: String(asc/desc) (Optional)
+     *             }
+     *         }
+     *     ]
+     *     taxonomySetting (Optional): {
+     *         assetTypes (Optional): [
+     *             String (Optional)
+     *         ]
+     *         facet (Optional): (recursive schema, see facet above)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
+     *     continuationToken: String (Optional)
+     *     @search.facets (Optional): {
+     *         entityType (Optional): [
+     *              (Optional){
+     *                 count: Integer (Optional)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *         assetType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         classification (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         term (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactId (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         label (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         glossaryType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termStatus (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termTemplate (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.highlights (Optional): {
+     *                 id (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 qualifiedName (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 name (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 description (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 entityType (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param queryOptions The search query of advanced search 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 data using search along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> queryWithResponse(BinaryData queryOptions, RequestOptions requestOptions) { + return this.serviceClient.queryWithResponseAsync(queryOptions, requestOptions); + } + + /** + * Get search suggestions by query criteria. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.text: String (Optional)
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param suggestOptions The payload of suggest 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 search suggestions by query criteria along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> suggestWithResponse(BinaryData suggestOptions, RequestOptions requestOptions) { + return this.serviceClient.suggestWithResponseAsync(suggestOptions, requestOptions); + } + + /** + * Get auto complete options. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             text: String (Optional)
+     *             queryPlusText: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param autoCompleteOptions The payload of autocomplete 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 auto complete options along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> autoCompleteWithResponse(BinaryData autoCompleteOptions, + RequestOptions requestOptions) { + return this.serviceClient.autoCompleteWithResponseAsync(autoCompleteOptions, requestOptions); + } + + /** + * Get data using search. + * + * @param queryOptions The search query of advanced search request. + * @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 using search on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono query(QueryOptions queryOptions) { + // Generated convenience method for queryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return queryWithResponse(BinaryData.fromObject(queryOptions), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(QueryResult.class)); + } + + /** + * Get search suggestions by query criteria. + * + * @param suggestOptions The payload of suggest request. + * @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 search suggestions by query criteria on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono suggest(SuggestOptions suggestOptions) { + // Generated convenience method for suggestWithResponse + RequestOptions requestOptions = new RequestOptions(); + return suggestWithResponse(BinaryData.fromObject(suggestOptions), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SuggestResult.class)); + } + + /** + * Get auto complete options. + * + * @param autoCompleteOptions The payload of autocomplete request. + * @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 auto complete options on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono autoComplete(AutoCompleteOptions autoCompleteOptions) { + // Generated convenience method for autoCompleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return autoCompleteWithResponse(BinaryData.fromObject(autoCompleteOptions), requestOptions) + .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 new file mode 100644 index 0000000000000..03233c0eee29e --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/DiscoveryClient.java @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.DiscoveriesImpl; +import com.azure.analytics.purview.datamap.models.AutoCompleteOptions; +import com.azure.analytics.purview.datamap.models.AutoCompleteResult; +import com.azure.analytics.purview.datamap.models.QueryOptions; +import com.azure.analytics.purview.datamap.models.QueryResult; +import com.azure.analytics.purview.datamap.models.SuggestOptions; +import com.azure.analytics.purview.datamap.models.SuggestResult; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; + +/** + * Initializes a new instance of the synchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class) +public final class DiscoveryClient { + @Generated + private final DiscoveriesImpl serviceClient; + + /** + * Initializes an instance of DiscoveryClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + DiscoveryClient(DiscoveriesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get data using search. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     continuationToken: String (Optional)
+     *     orderby (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     filter: Object (Optional)
+     *     facets (Optional): [
+     *          (Optional){
+     *             count: Integer (Optional)
+     *             facet: String (Optional)
+     *             sort (Optional): {
+     *                 count: String(asc/desc) (Optional)
+     *                 value: String(asc/desc) (Optional)
+     *             }
+     *         }
+     *     ]
+     *     taxonomySetting (Optional): {
+     *         assetTypes (Optional): [
+     *             String (Optional)
+     *         ]
+     *         facet (Optional): (recursive schema, see facet above)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
+     *     continuationToken: String (Optional)
+     *     @search.facets (Optional): {
+     *         entityType (Optional): [
+     *              (Optional){
+     *                 count: Integer (Optional)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *         assetType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         classification (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         term (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactId (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         label (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         glossaryType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termStatus (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termTemplate (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.highlights (Optional): {
+     *                 id (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 qualifiedName (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 name (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 description (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 entityType (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param queryOptions The search query of advanced search 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 data using search along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response queryWithResponse(BinaryData queryOptions, RequestOptions requestOptions) { + return this.serviceClient.queryWithResponse(queryOptions, requestOptions); + } + + /** + * Get search suggestions by query criteria. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.text: String (Optional)
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param suggestOptions The payload of suggest 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 search suggestions by query criteria along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response suggestWithResponse(BinaryData suggestOptions, RequestOptions requestOptions) { + return this.serviceClient.suggestWithResponse(suggestOptions, requestOptions); + } + + /** + * Get auto complete options. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             text: String (Optional)
+     *             queryPlusText: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param autoCompleteOptions The payload of autocomplete 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 auto complete options along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response autoCompleteWithResponse(BinaryData autoCompleteOptions, + RequestOptions requestOptions) { + return this.serviceClient.autoCompleteWithResponse(autoCompleteOptions, requestOptions); + } + + /** + * Get data using search. + * + * @param queryOptions The search query of advanced search request. + * @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 using search. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public QueryResult query(QueryOptions queryOptions) { + // Generated convenience method for queryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return queryWithResponse(BinaryData.fromObject(queryOptions), requestOptions).getValue() + .toObject(QueryResult.class); + } + + /** + * Get search suggestions by query criteria. + * + * @param suggestOptions The payload of suggest request. + * @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 search suggestions by query criteria. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public SuggestResult suggest(SuggestOptions suggestOptions) { + // Generated convenience method for suggestWithResponse + RequestOptions requestOptions = new RequestOptions(); + return suggestWithResponse(BinaryData.fromObject(suggestOptions), requestOptions).getValue() + .toObject(SuggestResult.class); + } + + /** + * Get auto complete options. + * + * @param autoCompleteOptions The payload of autocomplete request. + * @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 auto complete options. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AutoCompleteResult autoComplete(AutoCompleteOptions autoCompleteOptions) { + // Generated convenience method for autoCompleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return autoCompleteWithResponse(BinaryData.fromObject(autoCompleteOptions), requestOptions).getValue() + .toObject(AutoCompleteResult.class); + } +} 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 new file mode 100644 index 0000000000000..922537b477eac --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityAsyncClient.java @@ -0,0 +1,4270 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.EntitiesImpl; +import com.azure.analytics.purview.datamap.implementation.MultipartFormDataHelper; +import com.azure.analytics.purview.datamap.implementation.models.ImportBusinessMetadataRequest; +import com.azure.analytics.purview.datamap.models.AtlasClassification; +import com.azure.analytics.purview.datamap.models.AtlasClassifications; +import com.azure.analytics.purview.datamap.models.AtlasEntitiesWithExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasEntityHeader; +import com.azure.analytics.purview.datamap.models.AtlasEntityHeaders; +import com.azure.analytics.purview.datamap.models.AtlasEntityWithExtInfo; +import com.azure.analytics.purview.datamap.models.BulkImportResult; +import com.azure.analytics.purview.datamap.models.BusinessAttributeUpdateBehavior; +import com.azure.analytics.purview.datamap.models.ClassificationAssociateOptions; +import com.azure.analytics.purview.datamap.models.EntityMutationResult; +import com.azure.analytics.purview.datamap.models.FileDetails; +import com.azure.analytics.purview.datamap.models.MoveEntitiesOptions; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import java.util.List; +import java.util.Map; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class, isAsync = true) +public final class EntityAsyncClient { + @Generated + private final EntitiesImpl serviceClient; + + /** + * Initializes an instance of EntityAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + EntityAsyncClient(EntitiesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrUpdateWithResponse(BinaryData atlasEntityWithExtInfo, + RequestOptions requestOptions) { + return this.serviceClient.createOrUpdateWithResponseAsync(atlasEntityWithExtInfo, requestOptions); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to list. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByIdsWithResponse(List guid, RequestOptions requestOptions) { + return this.serviceClient.getByIdsWithResponseAsync(guid, requestOptions); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchCreateOrUpdateWithResponse(BinaryData atlasEntitiesWithExtInfo, + RequestOptions requestOptions) { + return this.serviceClient.batchCreateOrUpdateWithResponseAsync(atlasEntitiesWithExtInfo, requestOptions); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to delete. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchDeleteWithResponse(List guid, RequestOptions requestOptions) { + return this.serviceClient.batchDeleteWithResponseAsync(guid, requestOptions); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param classificationAssociateOptions The request payload for classification association. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addClassificationWithResponse(BinaryData classificationAssociateOptions, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationWithResponseAsync(classificationAssociateOptions, requestOptions); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 complete definition of an entity given its GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(guid, requestOptions); + } + + /** + * Update entity partially - create or update entity attribute identified by its + * GUID. + * 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 + *

+ *
{@code
+     * Object
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param name The name of the attribute. + * @param body The value of the attribute. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateAttributeByIdWithResponse(String guid, String name, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.updateAttributeByIdWithResponseAsync(guid, name, body, requestOptions); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponseAsync(guid, requestOptions); + } + + /** + * Get classification for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityGuid: String (Optional)
+     *     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *     removePropagationsOnEntityDelete: Boolean (Optional)
+     *     validityPeriods (Optional): [
+     *          (Optional){
+     *             endTime: String (Optional)
+     *             startTime: String (Optional)
+     *             timeZone: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 classification for a given entity represented by a GUID along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassificationWithResponse(String guid, String classificationName, + RequestOptions requestOptions) { + return this.serviceClient.getClassificationWithResponseAsync(guid, classificationName, requestOptions); + } + + /** + * Delete a given classification from an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeClassificationWithResponse(String guid, String classificationName, + RequestOptions requestOptions) { + return this.serviceClient.removeClassificationWithResponseAsync(guid, classificationName, requestOptions); + } + + /** + * List classifications for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     list (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     pageSize: Integer (Optional)
+     *     sortBy: String (Optional)
+     *     sortType: String(NONE/ASC/DESC) (Optional)
+     *     startIndex: Integer (Optional)
+     *     totalCount: Integer (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 rEST serialization friendly list along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassificationsWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getClassificationsWithResponseAsync(guid, requestOptions); + } + + /** + * Add classifications to an existing entity represented by a GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be added. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addClassificationsWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationsWithResponseAsync(guid, body, requestOptions); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be updated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateClassificationsWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsWithResponseAsync(guid, body, requestOptions); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributeWithResponseAsync(typeName, requestOptions); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateByUniqueAttributeWithResponse(String typeName, + BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions) { + return this.serviceClient.updateByUniqueAttributeWithResponseAsync(typeName, atlasEntityWithExtInfo, + requestOptions); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique 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
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 + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteByUniqueAttributeWithResponse(String typeName, + RequestOptions requestOptions) { + return this.serviceClient.deleteByUniqueAttributeWithResponseAsync(typeName, requestOptions); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeClassificationByUniqueAttributeWithResponse(String typeName, + String classificationName, RequestOptions requestOptions) { + return this.serviceClient.removeClassificationByUniqueAttributeWithResponseAsync(typeName, classificationName, + requestOptions); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addClassificationsByUniqueAttributeWithResponse(String typeName, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationsByUniqueAttributeWithResponseAsync(typeName, body, requestOptions); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateClassificationsUniqueByAttributeWithResponse(String typeName, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsUniqueByAttributeWithResponseAsync(typeName, body, + requestOptions); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param atlasEntityHeaders An instance of an entity header map. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchSetClassificationsWithResponse(BinaryData atlasEntityHeaders, + RequestOptions requestOptions) { + return this.serviceClient.batchSetClassificationsWithResponseAsync(atlasEntityHeaders, requestOptions); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchGetByUniqueAttributesWithResponse(String typeName, + RequestOptions requestOptions) { + return this.serviceClient.batchGetByUniqueAttributesWithResponseAsync(typeName, requestOptions); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     displayText: String (Optional)
+     *     guid: String (Optional)
+     *     isIncomplete: Boolean (Optional)
+     *     labels (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meaningNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meanings (Optional): [
+     *          (Optional){
+     *             confidence: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(ACTIVE/DELETED) (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 entity header given its GUID along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getHeaderWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getHeaderWithResponseAsync(guid, requestOptions); + } + + /** + * Remove business metadata from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body Business metadata payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeBusinessMetadataWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataWithResponseAsync(guid, body, requestOptions); + } + + /** + * Add business metadata to an entity. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addOrUpdateBusinessMetadataWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataWithResponseAsync(guid, body, requestOptions); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeBusinessMetadataAttributesWithResponse(String businessMetadataName, String guid, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataAttributesWithResponseAsync(businessMetadataName, guid, body, + requestOptions); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addOrUpdateBusinessMetadataAttributesWithResponse(String businessMetadataName, + String guid, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataAttributesWithResponseAsync(businessMetadataName, guid, + body, requestOptions); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + *

+ * Response Body Schema + *

+ *
{@code
+     * BinaryData
+     * }
+ * + * @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 sample Template for uploading/creating bulk BusinessMetaData along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getBusinessMetadataTemplateWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataTemplateWithResponseAsync(requestOptions); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     failedImportInfoList (Optional): [
+     *          (Optional){
+     *             childObjectName: String (Optional)
+     *             importStatus: String(SUCCESS/FAILED) (Optional)
+     *             parentObjectName: String (Optional)
+     *             remarks: String (Optional)
+     *         }
+     *     ]
+     *     successImportInfoList (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param request The request parameter. + * @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 bulk import result along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + Mono> importBusinessMetadataWithResponse(BinaryData request, RequestOptions requestOptions) { + // Protocol API requires serialization of parts with content-disposition and data, as operation + // 'importBusinessMetadata' is 'multipart/form-data' + return this.serviceClient.importBusinessMetadataWithResponseAsync(request, requestOptions); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeLabelsWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.removeLabelsWithResponseAsync(guid, requestOptions); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> setLabelsWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.setLabelsWithResponseAsync(guid, requestOptions); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addLabelWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.addLabelWithResponseAsync(guid, requestOptions); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * 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
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 + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeLabelsByUniqueAttributeWithResponse(String typeName, + RequestOptions requestOptions) { + return this.serviceClient.removeLabelsByUniqueAttributeWithResponseAsync(typeName, requestOptions); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> setLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.setLabelsByUniqueAttributeWithResponseAsync(typeName, requestOptions); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.addLabelsByUniqueAttributeWithResponseAsync(typeName, requestOptions); + } + + /** + * Move existing entities to the target collection. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesOptions MoveEntitiesOptions. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> moveEntitiesToCollectionWithResponse(String collectionId, + BinaryData moveEntitiesOptions, RequestOptions requestOptions) { + return this.serviceClient.moveEntitiesToCollectionWithResponseAsync(collectionId, moveEntitiesOptions, + requestOptions); + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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. + * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @param businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. + * @param collectionId The collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrUpdate(AtlasEntityWithExtInfo atlasEntityWithExtInfo, + BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior, String collectionId) { + // Generated convenience method for createOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (businessAttributeUpdateBehavior != null) { + requestOptions.addQueryParam("businessAttributeUpdateBehavior", businessAttributeUpdateBehavior.toString(), + false); + } + if (collectionId != null) { + requestOptions.addQueryParam("collectionId", collectionId, false); + } + return createOrUpdateWithResponse(BinaryData.fromObject(atlasEntityWithExtInfo), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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. + * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrUpdate(AtlasEntityWithExtInfo atlasEntityWithExtInfo) { + // Generated convenience method for createOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrUpdateWithResponse(BinaryData.fromObject(atlasEntityWithExtInfo), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * List entities in bulk identified by its GUIDs. + * + * @param guid An array of GUIDs of entities to list. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByIds(List guid, Boolean minExtInfo, Boolean ignoreRelationships) { + // Generated convenience method for getByIdsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + return getByIdsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntitiesWithExtInfo.class)); + } + + /** + * List entities in bulk identified by its GUIDs. + * + * @param guid An array of GUIDs of entities to list. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByIds(List guid) { + // Generated convenience method for getByIdsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByIdsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntitiesWithExtInfo.class)); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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. + * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @param collectionId The collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection. + * @param businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEntitiesWithExtInfo, + String collectionId, BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior) { + // Generated convenience method for batchCreateOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (collectionId != null) { + requestOptions.addQueryParam("collectionId", collectionId, false); + } + if (businessAttributeUpdateBehavior != null) { + requestOptions.addQueryParam("businessAttributeUpdateBehavior", businessAttributeUpdateBehavior.toString(), + false); + } + return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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. + * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEntitiesWithExtInfo) { + // Generated convenience method for batchCreateOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + * + * @param guid An array of GUIDs of entities to delete. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchDelete(List guid) { + // Generated convenience method for batchDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchDeleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Associate a classification to multiple entities in bulk. + * + * @param classificationAssociateOptions The request payload for classification association. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addClassification(ClassificationAssociateOptions classificationAssociateOptions) { + // Generated convenience method for addClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addClassificationWithResponse(BinaryData.fromObject(classificationAssociateOptions), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Get complete definition of an entity given its GUID. + * + * @param guid The globally unique identifier of the entity. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @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 complete definition of an entity given its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String guid, Boolean minExtInfo, Boolean ignoreRelationships) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + return getWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityWithExtInfo.class)); + } + + /** + * Get complete definition of an entity given its GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 complete definition of an entity given its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String guid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityWithExtInfo.class)); + } + + /** + * Update entity partially - create or update entity attribute identified by its + * GUID. + * Supports only primitive attribute type and entity references. + * It does not support updating complex types like arrays, and maps. + * Null updates are not possible. + * + * @param guid The globally unique identifier of the entity. + * @param name The name of the attribute. + * @param body The value of the attribute. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateAttributeById(String guid, String name, Object body) { + // Generated convenience method for updateAttributeByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateAttributeByIdWithResponse(guid, name, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Delete an entity identified by its GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Get classification for a given entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 classification for a given entity represented by a GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassification(String guid, String classificationName) { + // Generated convenience method for getClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationWithResponse(guid, classificationName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasClassification.class)); + } + + /** + * Delete a given classification from an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeClassification(String guid, String classificationName) { + // Generated convenience method for removeClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeClassificationWithResponse(guid, classificationName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * List classifications for a given entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 rEST serialization friendly list on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassifications(String guid) { + // Generated convenience method for getClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasClassifications.class)); + } + + /** + * Add classifications to an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be added. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addClassifications(String guid, List body) { + // Generated convenience method for addClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addClassificationsWithResponse(guid, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Update classifications to an existing entity represented by a guid. + * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be updated. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateClassifications(String guid, List body) { + // Generated convenience method for updateClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateClassificationsWithResponse(guid, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByUniqueAttribute(String typeName, Boolean minExtInfo, + Boolean ignoreRelationships, String attribute) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return getByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityWithExtInfo.class)); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByUniqueAttribute(String typeName) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityWithExtInfo.class)); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateByUniqueAttribute(String typeName, + AtlasEntityWithExtInfo atlasEntityWithExtInfo, String attribute) { + // Generated convenience method for updateByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return updateByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(atlasEntityWithExtInfo), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateByUniqueAttribute(String typeName, + AtlasEntityWithExtInfo atlasEntityWithExtInfo) { + // Generated convenience method for updateByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(atlasEntityWithExtInfo), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteByUniqueAttribute(String typeName, String attribute) { + // Generated convenience method for deleteByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return deleteByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteByUniqueAttribute(String typeName) { + // Generated convenience method for deleteByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeClassificationByUniqueAttribute(String typeName, String classificationName, + String attribute) { + // Generated convenience method for removeClassificationByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeClassificationByUniqueAttribute(String typeName, String classificationName) { + // Generated convenience method for removeClassificationByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addClassificationsByUniqueAttribute(String typeName, List body, + String attribute) { + // Generated convenience method for addClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return addClassificationsByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addClassificationsByUniqueAttribute(String typeName, List body) { + // Generated convenience method for addClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addClassificationsByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateClassificationsUniqueByAttribute(String typeName, List body, + String attribute) { + // Generated convenience method for updateClassificationsUniqueByAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return updateClassificationsUniqueByAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateClassificationsUniqueByAttribute(String typeName, List body) { + // Generated convenience method for updateClassificationsUniqueByAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateClassificationsUniqueByAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Set classifications on entities in bulk. + * + * @param atlasEntityHeaders An instance of an entity header map. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchSetClassifications(AtlasEntityHeaders atlasEntityHeaders) { + // Generated convenience method for batchSetClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchSetClassificationsWithResponse(BinaryData.fromObject(atlasEntityHeaders), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_STRING)); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + * + * @param typeName The name of the type. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @param attrNQualifiedName Qualified 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). + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchGetByUniqueAttributes(String typeName, Boolean minExtInfo, + Boolean ignoreRelationships, String attrNQualifiedName) { + // Generated convenience method for batchGetByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + if (attrNQualifiedName != null) { + requestOptions.addQueryParam("attr_N:qualifiedName", attrNQualifiedName, false); + } + return batchGetByUniqueAttributesWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntitiesWithExtInfo.class)); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + * + * @param typeName The name of the type. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchGetByUniqueAttributes(String typeName) { + // Generated convenience method for batchGetByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchGetByUniqueAttributesWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntitiesWithExtInfo.class)); + } + + /** + * Get entity header given its GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 entity header given its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getHeader(String guid) { + // Generated convenience method for getHeaderWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getHeaderWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityHeader.class)); + } + + /** + * Remove business metadata from an entity. + * + * @param guid The globally unique identifier of the entity. + * @param body Business metadata payload. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeBusinessMetadata(String guid, Map> body) { + // Generated convenience method for removeBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeBusinessMetadataWithResponse(guid, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Add business metadata to an entity. + * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @param overwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addOrUpdateBusinessMetadata(String guid, Map> body, + Boolean overwrite) { + // Generated convenience method for addOrUpdateBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (overwrite != null) { + requestOptions.addQueryParam("isOverwrite", String.valueOf(overwrite), false); + } + return addOrUpdateBusinessMetadataWithResponse(guid, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Add business metadata to an entity. + * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addOrUpdateBusinessMetadata(String guid, Map> body) { + // Generated convenience method for addOrUpdateBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addOrUpdateBusinessMetadataWithResponse(guid, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Delete business metadata attributes from an entity. + * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeBusinessMetadataAttributes(String businessMetadataName, String guid, + Map body) { + // Generated convenience method for removeBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeBusinessMetadataAttributesWithResponse(businessMetadataName, guid, BinaryData.fromObject(body), + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Add or update business metadata attributes. + * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addOrUpdateBusinessMetadataAttributes(String businessMetadataName, String guid, + Map body) { + // Generated convenience method for addOrUpdateBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addOrUpdateBusinessMetadataAttributesWithResponse(businessMetadataName, guid, + BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + * + * @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 the sample Template for uploading/creating bulk BusinessMetaData on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getBusinessMetadataTemplate() { + // Generated convenience method for getBusinessMetadataTemplateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataTemplateWithResponse(requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Upload the file for creating Business Metadata in BULK. + * + * @param file InputStream of file. + * @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 bulk import result on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono importBusinessMetadata(FileDetails file) { + // Generated convenience method for importBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + ImportBusinessMetadataRequest requestObj = new ImportBusinessMetadataRequest(file); + BinaryData request + = new MultipartFormDataHelper(requestOptions).serializeFileField("file", requestObj.getFile().getContent(), + requestObj.getFile().getContentType(), requestObj.getFile().getFilename()).end().getRequestBody(); + return importBusinessMetadataWithResponse(request, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(BulkImportResult.class)); + } + + /** + * Delete given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be deleted. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeLabels(String guid, List body) { + // Generated convenience method for removeLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + return removeLabelsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeLabels(String guid) { + // Generated convenience method for removeLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeLabelsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Set labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be set to the entity. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono setLabels(String guid, List body) { + // Generated convenience method for setLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + return setLabelsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Set labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono setLabels(String guid) { + // Generated convenience method for setLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return setLabelsWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Add given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be added. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addLabel(String guid, List body) { + // Generated convenience method for addLabelWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + return addLabelWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Add given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addLabel(String guid) { + // Generated convenience method for addLabelWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addLabelWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * across entities, eg. qualifiedName. The REST request would look something like + * this: DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param body set of labels to be deleted. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeLabelsByUniqueAttribute(String typeName, String attribute, List body) { + // Generated convenience method for removeLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + return removeLabelsByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * across entities, eg. qualifiedName. The REST request would look something like + * this: DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono removeLabelsByUniqueAttribute(String typeName) { + // Generated convenience method for removeLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeLabelsByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param body set of labels to be set. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono setLabelsByUniqueAttribute(String typeName, String attribute, List body) { + // Generated convenience method for setLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + return setLabelsByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono setLabelsByUniqueAttribute(String typeName) { + // Generated convenience method for setLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return setLabelsByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param body set of labels to be added. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addLabelsByUniqueAttribute(String typeName, String attribute, List body) { + // Generated convenience method for addLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + return addLabelsByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addLabelsByUniqueAttribute(String typeName) { + // Generated convenience method for addLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addLabelsByUniqueAttributeWithResponse(typeName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Move existing entities to the target collection. + * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesOptions MoveEntitiesOptions. + * @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 the mutation response result of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono moveEntitiesToCollection(String collectionId, + MoveEntitiesOptions moveEntitiesOptions) { + // Generated convenience method for moveEntitiesToCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return moveEntitiesToCollectionWithResponse(collectionId, BinaryData.fromObject(moveEntitiesOptions), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResult.class)); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_STRING = new TypeReference>() { + }; +} 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 new file mode 100644 index 0000000000000..1246ca1300f65 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/EntityClient.java @@ -0,0 +1,4191 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.EntitiesImpl; +import com.azure.analytics.purview.datamap.implementation.MultipartFormDataHelper; +import com.azure.analytics.purview.datamap.implementation.models.ImportBusinessMetadataRequest; +import com.azure.analytics.purview.datamap.models.AtlasClassification; +import com.azure.analytics.purview.datamap.models.AtlasClassifications; +import com.azure.analytics.purview.datamap.models.AtlasEntitiesWithExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasEntityHeader; +import com.azure.analytics.purview.datamap.models.AtlasEntityHeaders; +import com.azure.analytics.purview.datamap.models.AtlasEntityWithExtInfo; +import com.azure.analytics.purview.datamap.models.BulkImportResult; +import com.azure.analytics.purview.datamap.models.BusinessAttributeUpdateBehavior; +import com.azure.analytics.purview.datamap.models.ClassificationAssociateOptions; +import com.azure.analytics.purview.datamap.models.EntityMutationResult; +import com.azure.analytics.purview.datamap.models.FileDetails; +import com.azure.analytics.purview.datamap.models.MoveEntitiesOptions; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import java.util.List; +import java.util.Map; + +/** + * Initializes a new instance of the synchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class) +public final class EntityClient { + @Generated + private final EntitiesImpl serviceClient; + + /** + * Initializes an instance of EntityClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + EntityClient(EntitiesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateWithResponse(BinaryData atlasEntityWithExtInfo, + RequestOptions requestOptions) { + return this.serviceClient.createOrUpdateWithResponse(atlasEntityWithExtInfo, requestOptions); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to list. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdsWithResponse(List guid, RequestOptions requestOptions) { + return this.serviceClient.getByIdsWithResponse(guid, requestOptions); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchCreateOrUpdateWithResponse(BinaryData atlasEntitiesWithExtInfo, + RequestOptions requestOptions) { + return this.serviceClient.batchCreateOrUpdateWithResponse(atlasEntitiesWithExtInfo, requestOptions); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to delete. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchDeleteWithResponse(List guid, RequestOptions requestOptions) { + return this.serviceClient.batchDeleteWithResponse(guid, requestOptions); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param classificationAssociateOptions The request payload for classification association. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addClassificationWithResponse(BinaryData classificationAssociateOptions, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationWithResponse(classificationAssociateOptions, requestOptions); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 complete definition of an entity given its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(guid, requestOptions); + } + + /** + * Update entity partially - create or update entity attribute identified by its + * GUID. + * 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 + *

+ *
{@code
+     * Object
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param name The name of the attribute. + * @param body The value of the attribute. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateAttributeByIdWithResponse(String guid, String name, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.updateAttributeByIdWithResponse(guid, name, body, requestOptions); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponse(guid, requestOptions); + } + + /** + * Get classification for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityGuid: String (Optional)
+     *     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *     removePropagationsOnEntityDelete: Boolean (Optional)
+     *     validityPeriods (Optional): [
+     *          (Optional){
+     *             endTime: String (Optional)
+     *             startTime: String (Optional)
+     *             timeZone: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 classification for a given entity represented by a GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationWithResponse(String guid, String classificationName, + RequestOptions requestOptions) { + return this.serviceClient.getClassificationWithResponse(guid, classificationName, requestOptions); + } + + /** + * Delete a given classification from an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeClassificationWithResponse(String guid, String classificationName, + RequestOptions requestOptions) { + return this.serviceClient.removeClassificationWithResponse(guid, classificationName, requestOptions); + } + + /** + * List classifications for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     list (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     pageSize: Integer (Optional)
+     *     sortBy: String (Optional)
+     *     sortType: String(NONE/ASC/DESC) (Optional)
+     *     startIndex: Integer (Optional)
+     *     totalCount: Integer (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 rEST serialization friendly list along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationsWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getClassificationsWithResponse(guid, requestOptions); + } + + /** + * Add classifications to an existing entity represented by a GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be added. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addClassificationsWithResponse(String guid, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.addClassificationsWithResponse(guid, body, requestOptions); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be updated. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateClassificationsWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsWithResponse(guid, body, requestOptions); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributeWithResponse(typeName, requestOptions); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateByUniqueAttributeWithResponse(String typeName, BinaryData atlasEntityWithExtInfo, + RequestOptions requestOptions) { + return this.serviceClient.updateByUniqueAttributeWithResponse(typeName, atlasEntityWithExtInfo, requestOptions); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique 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
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 + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.deleteByUniqueAttributeWithResponse(typeName, requestOptions); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeClassificationByUniqueAttributeWithResponse(String typeName, String classificationName, + RequestOptions requestOptions) { + return this.serviceClient.removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, + requestOptions); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addClassificationsByUniqueAttributeWithResponse(String typeName, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationsByUniqueAttributeWithResponse(typeName, body, requestOptions); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateClassificationsUniqueByAttributeWithResponse(String typeName, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsUniqueByAttributeWithResponse(typeName, body, requestOptions); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param atlasEntityHeaders An instance of an entity header map. + * @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 response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchSetClassificationsWithResponse(BinaryData atlasEntityHeaders, + RequestOptions requestOptions) { + return this.serviceClient.batchSetClassificationsWithResponse(atlasEntityHeaders, requestOptions); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchGetByUniqueAttributesWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.batchGetByUniqueAttributesWithResponse(typeName, requestOptions); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     displayText: String (Optional)
+     *     guid: String (Optional)
+     *     isIncomplete: Boolean (Optional)
+     *     labels (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meaningNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meanings (Optional): [
+     *          (Optional){
+     *             confidence: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(ACTIVE/DELETED) (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 entity header given its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getHeaderWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getHeaderWithResponse(guid, requestOptions); + } + + /** + * Remove business metadata from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body Business metadata payload. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeBusinessMetadataWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataWithResponse(guid, body, requestOptions); + } + + /** + * Add business metadata to an entity. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addOrUpdateBusinessMetadataWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataWithResponse(guid, body, requestOptions); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeBusinessMetadataAttributesWithResponse(String businessMetadataName, String guid, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataAttributesWithResponse(businessMetadataName, guid, body, + requestOptions); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addOrUpdateBusinessMetadataAttributesWithResponse(String businessMetadataName, String guid, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataAttributesWithResponse(businessMetadataName, guid, body, + requestOptions); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + *

+ * Response Body Schema + *

+ *
{@code
+     * BinaryData
+     * }
+ * + * @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 sample Template for uploading/creating bulk BusinessMetaData along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBusinessMetadataTemplateWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataTemplateWithResponse(requestOptions); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     failedImportInfoList (Optional): [
+     *          (Optional){
+     *             childObjectName: String (Optional)
+     *             importStatus: String(SUCCESS/FAILED) (Optional)
+     *             parentObjectName: String (Optional)
+     *             remarks: String (Optional)
+     *         }
+     *     ]
+     *     successImportInfoList (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param request The request parameter. + * @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 bulk import result along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + Response importBusinessMetadataWithResponse(BinaryData request, RequestOptions requestOptions) { + // Protocol API requires serialization of parts with content-disposition and data, as operation + // 'importBusinessMetadata' is 'multipart/form-data' + return this.serviceClient.importBusinessMetadataWithResponse(request, requestOptions); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeLabelsWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.removeLabelsWithResponse(guid, requestOptions); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response setLabelsWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.setLabelsWithResponse(guid, requestOptions); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addLabelWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.addLabelWithResponse(guid, requestOptions); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * 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
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 + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.removeLabelsByUniqueAttributeWithResponse(typeName, requestOptions); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response setLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.setLabelsByUniqueAttributeWithResponse(typeName, requestOptions); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + return this.serviceClient.addLabelsByUniqueAttributeWithResponse(typeName, requestOptions); + } + + /** + * Move existing entities to the target collection. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesOptions MoveEntitiesOptions. + * @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 mutation response result of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response moveEntitiesToCollectionWithResponse(String collectionId, + BinaryData moveEntitiesOptions, RequestOptions requestOptions) { + return this.serviceClient.moveEntitiesToCollectionWithResponse(collectionId, moveEntitiesOptions, + requestOptions); + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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. + * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @param businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. + * @param collectionId The collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult createOrUpdate(AtlasEntityWithExtInfo atlasEntityWithExtInfo, + BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior, String collectionId) { + // Generated convenience method for createOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (businessAttributeUpdateBehavior != null) { + requestOptions.addQueryParam("businessAttributeUpdateBehavior", businessAttributeUpdateBehavior.toString(), + false); + } + if (collectionId != null) { + requestOptions.addQueryParam("collectionId", collectionId, false); + } + return createOrUpdateWithResponse(BinaryData.fromObject(atlasEntityWithExtInfo), requestOptions).getValue() + .toObject(EntityMutationResult.class); + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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. + * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult createOrUpdate(AtlasEntityWithExtInfo atlasEntityWithExtInfo) { + // Generated convenience method for createOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrUpdateWithResponse(BinaryData.fromObject(atlasEntityWithExtInfo), requestOptions).getValue() + .toObject(EntityMutationResult.class); + } + + /** + * List entities in bulk identified by its GUIDs. + * + * @param guid An array of GUIDs of entities to list. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntitiesWithExtInfo getByIds(List guid, Boolean minExtInfo, Boolean ignoreRelationships) { + // Generated convenience method for getByIdsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + return getByIdsWithResponse(guid, requestOptions).getValue().toObject(AtlasEntitiesWithExtInfo.class); + } + + /** + * List entities in bulk identified by its GUIDs. + * + * @param guid An array of GUIDs of entities to list. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntitiesWithExtInfo getByIds(List guid) { + // Generated convenience method for getByIdsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByIdsWithResponse(guid, requestOptions).getValue().toObject(AtlasEntitiesWithExtInfo.class); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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. + * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @param collectionId The collection where entities will be moved to. Only specify a value if you + * need to move an entity to another collection. + * @param businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEntitiesWithExtInfo, + String collectionId, BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior) { + // Generated convenience method for batchCreateOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (collectionId != null) { + requestOptions.addQueryParam("collectionId", collectionId, false); + } + if (businessAttributeUpdateBehavior != null) { + requestOptions.addQueryParam("businessAttributeUpdateBehavior", businessAttributeUpdateBehavior.toString(), + false); + } + return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions) + .getValue().toObject(EntityMutationResult.class); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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. + * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult batchCreateOrUpdate(AtlasEntitiesWithExtInfo atlasEntitiesWithExtInfo) { + // Generated convenience method for batchCreateOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchCreateOrUpdateWithResponse(BinaryData.fromObject(atlasEntitiesWithExtInfo), requestOptions) + .getValue().toObject(EntityMutationResult.class); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + * + * @param guid An array of GUIDs of entities to delete. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult batchDelete(List guid) { + // Generated convenience method for batchDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchDeleteWithResponse(guid, requestOptions).getValue().toObject(EntityMutationResult.class); + } + + /** + * Associate a classification to multiple entities in bulk. + * + * @param classificationAssociateOptions The request payload for classification association. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addClassification(ClassificationAssociateOptions classificationAssociateOptions) { + // Generated convenience method for addClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + addClassificationWithResponse(BinaryData.fromObject(classificationAssociateOptions), requestOptions).getValue(); + } + + /** + * Get complete definition of an entity given its GUID. + * + * @param guid The globally unique identifier of the entity. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @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 complete definition of an entity given its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityWithExtInfo get(String guid, Boolean minExtInfo, Boolean ignoreRelationships) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + return getWithResponse(guid, requestOptions).getValue().toObject(AtlasEntityWithExtInfo.class); + } + + /** + * Get complete definition of an entity given its GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 complete definition of an entity given its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityWithExtInfo get(String guid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, requestOptions).getValue().toObject(AtlasEntityWithExtInfo.class); + } + + /** + * Update entity partially - create or update entity attribute identified by its + * GUID. + * Supports only primitive attribute type and entity references. + * It does not support updating complex types like arrays, and maps. + * Null updates are not possible. + * + * @param guid The globally unique identifier of the entity. + * @param name The name of the attribute. + * @param body The value of the attribute. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult updateAttributeById(String guid, String name, Object body) { + // Generated convenience method for updateAttributeByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateAttributeByIdWithResponse(guid, name, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(EntityMutationResult.class); + } + + /** + * Delete an entity identified by its GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).getValue().toObject(EntityMutationResult.class); + } + + /** + * Get classification for a given entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 classification for a given entity represented by a GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasClassification getClassification(String guid, String classificationName) { + // Generated convenience method for getClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationWithResponse(guid, classificationName, requestOptions).getValue() + .toObject(AtlasClassification.class); + } + + /** + * Delete a given classification from an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeClassification(String guid, String classificationName) { + // Generated convenience method for removeClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeClassificationWithResponse(guid, classificationName, requestOptions).getValue(); + } + + /** + * List classifications for a given entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 rEST serialization friendly list. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasClassifications getClassifications(String guid) { + // Generated convenience method for getClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationsWithResponse(guid, requestOptions).getValue().toObject(AtlasClassifications.class); + } + + /** + * Add classifications to an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be added. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addClassifications(String guid, List body) { + // Generated convenience method for addClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + addClassificationsWithResponse(guid, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Update classifications to an existing entity represented by a guid. + * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be updated. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void updateClassifications(String guid, List body) { + // Generated convenience method for updateClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + updateClassificationsWithResponse(guid, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityWithExtInfo getByUniqueAttribute(String typeName, Boolean minExtInfo, Boolean ignoreRelationships, + String attribute) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return getByUniqueAttributeWithResponse(typeName, requestOptions).getValue() + .toObject(AtlasEntityWithExtInfo.class); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityWithExtInfo getByUniqueAttribute(String typeName) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributeWithResponse(typeName, requestOptions).getValue() + .toObject(AtlasEntityWithExtInfo.class); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult updateByUniqueAttribute(String typeName, AtlasEntityWithExtInfo atlasEntityWithExtInfo, + String attribute) { + // Generated convenience method for updateByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return updateByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(atlasEntityWithExtInfo), + requestOptions).getValue().toObject(EntityMutationResult.class); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult updateByUniqueAttribute(String typeName, + AtlasEntityWithExtInfo atlasEntityWithExtInfo) { + // Generated convenience method for updateByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(atlasEntityWithExtInfo), + requestOptions).getValue().toObject(EntityMutationResult.class); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult deleteByUniqueAttribute(String typeName, String attribute) { + // Generated convenience method for deleteByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return deleteByUniqueAttributeWithResponse(typeName, requestOptions).getValue() + .toObject(EntityMutationResult.class); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult deleteByUniqueAttribute(String typeName) { + // Generated convenience method for deleteByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteByUniqueAttributeWithResponse(typeName, requestOptions).getValue() + .toObject(EntityMutationResult.class); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeClassificationByUniqueAttribute(String typeName, String classificationName, String attribute) { + // Generated convenience method for removeClassificationByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, requestOptions).getValue(); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeClassificationByUniqueAttribute(String typeName, String classificationName) { + // Generated convenience method for removeClassificationByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, requestOptions).getValue(); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addClassificationsByUniqueAttribute(String typeName, List body, String attribute) { + // Generated convenience method for addClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + addClassificationsByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .getValue(); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addClassificationsByUniqueAttribute(String typeName, List body) { + // Generated convenience method for addClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + addClassificationsByUniqueAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .getValue(); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void updateClassificationsUniqueByAttribute(String typeName, List body, + String attribute) { + // Generated convenience method for updateClassificationsUniqueByAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + updateClassificationsUniqueByAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .getValue(); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void updateClassificationsUniqueByAttribute(String typeName, List body) { + // Generated convenience method for updateClassificationsUniqueByAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + updateClassificationsUniqueByAttributeWithResponse(typeName, BinaryData.fromObject(body), requestOptions) + .getValue(); + } + + /** + * Set classifications on entities in bulk. + * + * @param atlasEntityHeaders An instance of an entity header map. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List batchSetClassifications(AtlasEntityHeaders atlasEntityHeaders) { + // Generated convenience method for batchSetClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchSetClassificationsWithResponse(BinaryData.fromObject(atlasEntityHeaders), requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_STRING); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + * + * @param typeName The name of the type. + * @param minExtInfo Whether to return minimal information for referred entities. + * @param ignoreRelationships Whether to ignore relationship attributes. + * @param attrNQualifiedName Qualified 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). + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntitiesWithExtInfo batchGetByUniqueAttributes(String typeName, Boolean minExtInfo, + Boolean ignoreRelationships, String attrNQualifiedName) { + // Generated convenience method for batchGetByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (minExtInfo != null) { + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + } + if (ignoreRelationships != null) { + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + } + if (attrNQualifiedName != null) { + requestOptions.addQueryParam("attr_N:qualifiedName", attrNQualifiedName, false); + } + return batchGetByUniqueAttributesWithResponse(typeName, requestOptions).getValue() + .toObject(AtlasEntitiesWithExtInfo.class); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + * + * @param typeName The name of the type. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntitiesWithExtInfo batchGetByUniqueAttributes(String typeName) { + // Generated convenience method for batchGetByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchGetByUniqueAttributesWithResponse(typeName, requestOptions).getValue() + .toObject(AtlasEntitiesWithExtInfo.class); + } + + /** + * Get entity header given its GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 entity header given its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityHeader getHeader(String guid) { + // Generated convenience method for getHeaderWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getHeaderWithResponse(guid, requestOptions).getValue().toObject(AtlasEntityHeader.class); + } + + /** + * Remove business metadata from an entity. + * + * @param guid The globally unique identifier of the entity. + * @param body Business metadata payload. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeBusinessMetadata(String guid, Map> body) { + // Generated convenience method for removeBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeBusinessMetadataWithResponse(guid, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Add business metadata to an entity. + * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @param overwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addOrUpdateBusinessMetadata(String guid, Map> body, Boolean overwrite) { + // Generated convenience method for addOrUpdateBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (overwrite != null) { + requestOptions.addQueryParam("isOverwrite", String.valueOf(overwrite), false); + } + addOrUpdateBusinessMetadataWithResponse(guid, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Add business metadata to an entity. + * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addOrUpdateBusinessMetadata(String guid, Map> body) { + // Generated convenience method for addOrUpdateBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + addOrUpdateBusinessMetadataWithResponse(guid, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Delete business metadata attributes from an entity. + * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeBusinessMetadataAttributes(String businessMetadataName, String guid, Map body) { + // Generated convenience method for removeBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeBusinessMetadataAttributesWithResponse(businessMetadataName, guid, BinaryData.fromObject(body), + requestOptions).getValue(); + } + + /** + * Add or update business metadata attributes. + * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addOrUpdateBusinessMetadataAttributes(String businessMetadataName, String guid, + Map body) { + // Generated convenience method for addOrUpdateBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + addOrUpdateBusinessMetadataAttributesWithResponse(businessMetadataName, guid, BinaryData.fromObject(body), + requestOptions).getValue(); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + * + * @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 the sample Template for uploading/creating bulk BusinessMetaData. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getBusinessMetadataTemplate() { + // Generated convenience method for getBusinessMetadataTemplateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataTemplateWithResponse(requestOptions).getValue(); + } + + /** + * Upload the file for creating Business Metadata in BULK. + * + * @param file InputStream of file. + * @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 bulk import result. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BulkImportResult importBusinessMetadata(FileDetails file) { + // Generated convenience method for importBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + ImportBusinessMetadataRequest requestObj = new ImportBusinessMetadataRequest(file); + BinaryData request + = new MultipartFormDataHelper(requestOptions).serializeFileField("file", requestObj.getFile().getContent(), + requestObj.getFile().getContentType(), requestObj.getFile().getFilename()).end().getRequestBody(); + return importBusinessMetadataWithResponse(request, requestOptions).getValue().toObject(BulkImportResult.class); + } + + /** + * Delete given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be deleted. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeLabels(String guid, List body) { + // Generated convenience method for removeLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + removeLabelsWithResponse(guid, requestOptions).getValue(); + } + + /** + * Delete given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeLabels(String guid) { + // Generated convenience method for removeLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeLabelsWithResponse(guid, requestOptions).getValue(); + } + + /** + * Set labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be set to the entity. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void setLabels(String guid, List body) { + // Generated convenience method for setLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + setLabelsWithResponse(guid, requestOptions).getValue(); + } + + /** + * Set labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void setLabels(String guid) { + // Generated convenience method for setLabelsWithResponse + RequestOptions requestOptions = new RequestOptions(); + setLabelsWithResponse(guid, requestOptions).getValue(); + } + + /** + * Add given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be added. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addLabel(String guid, List body) { + // Generated convenience method for addLabelWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + addLabelWithResponse(guid, requestOptions).getValue(); + } + + /** + * Add given labels to a given entity. + * + * @param guid The globally unique identifier of the entity. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addLabel(String guid) { + // Generated convenience method for addLabelWithResponse + RequestOptions requestOptions = new RequestOptions(); + addLabelWithResponse(guid, requestOptions).getValue(); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * across entities, eg. qualifiedName. The REST request would look something like + * this: DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param body set of labels to be deleted. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeLabelsByUniqueAttribute(String typeName, String attribute, List body) { + // Generated convenience method for removeLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + removeLabelsByUniqueAttributeWithResponse(typeName, requestOptions).getValue(); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * across entities, eg. qualifiedName. The REST request would look something like + * this: DELETE + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void removeLabelsByUniqueAttribute(String typeName) { + // Generated convenience method for removeLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeLabelsByUniqueAttributeWithResponse(typeName, requestOptions).getValue(); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param body set of labels to be set. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void setLabelsByUniqueAttribute(String typeName, String attribute, List body) { + // Generated convenience method for setLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + setLabelsByUniqueAttributeWithResponse(typeName, requestOptions).getValue(); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void setLabelsByUniqueAttribute(String typeName) { + // Generated convenience method for setLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + setLabelsByUniqueAttributeWithResponse(typeName, requestOptions).getValue(); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param body set of labels to be added. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addLabelsByUniqueAttribute(String typeName, String attribute, List body) { + // Generated convenience method for addLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + if (body != null) { + requestOptions.setBody(BinaryData.fromObject(body)); + } + addLabelsByUniqueAttributeWithResponse(typeName, requestOptions).getValue(); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addLabelsByUniqueAttribute(String typeName) { + // Generated convenience method for addLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + addLabelsByUniqueAttributeWithResponse(typeName, requestOptions).getValue(); + } + + /** + * Move existing entities to the target collection. + * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesOptions MoveEntitiesOptions. + * @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 the mutation response result of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResult moveEntitiesToCollection(String collectionId, MoveEntitiesOptions moveEntitiesOptions) { + // Generated convenience method for moveEntitiesToCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return moveEntitiesToCollectionWithResponse(collectionId, BinaryData.fromObject(moveEntitiesOptions), + requestOptions).getValue().toObject(EntityMutationResult.class); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_STRING = new TypeReference>() { + }; +} 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 new file mode 100644 index 0000000000000..791e52c4b047f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryAsyncClient.java @@ -0,0 +1,5044 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.GlossariesImpl; +import com.azure.analytics.purview.datamap.models.AtlasGlossary; +import com.azure.analytics.purview.datamap.models.AtlasGlossaryCategory; +import com.azure.analytics.purview.datamap.models.AtlasGlossaryExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasGlossaryTerm; +import com.azure.analytics.purview.datamap.models.AtlasRelatedCategoryHeader; +import com.azure.analytics.purview.datamap.models.AtlasRelatedObjectId; +import com.azure.analytics.purview.datamap.models.AtlasRelatedTermHeader; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import java.util.List; +import java.util.Map; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class, isAsync = true) +public final class GlossaryAsyncClient { + @Generated + private final GlossariesImpl serviceClient; + + /** + * Initializes an instance of GlossaryAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + GlossaryAsyncClient(GlossariesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         language: String (Optional)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         usage: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 all glossaries along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchGetWithResponse(RequestOptions requestOptions) { + return this.serviceClient.batchGetWithResponseAsync(requestOptions); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createWithResponse(BinaryData atlasGlossary, RequestOptions requestOptions) { + return this.serviceClient.createWithResponseAsync(atlasGlossary, requestOptions); + } + + /** + * Create glossary category in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary category definitions to be created. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategoriesWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createCategoriesWithResponseAsync(body, requestOptions); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategoryWithResponse(BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.createCategoryWithResponseAsync(atlasGlossaryCategory, requestOptions); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 specific glossary category by its GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoryWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoryWithResponseAsync(categoryId, requestOptions); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateCategoryWithResponse(String categoryId, BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.updateCategoryWithResponseAsync(categoryId, atlasGlossaryCategory, requestOptions); + } + + /** + * Delete a glossary category. + * + * @param categoryId The globally unique identifier of the category. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteCategoryWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.deleteCategoryWithResponseAsync(categoryId, requestOptions); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values for partial update. + * @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 glossary category along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateCategoryWithResponse(String categoryId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateCategoryWithResponseAsync(categoryId, body, requestOptions); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 all related categories (parent and children) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getRelatedCategoriesWithResponse(String categoryId, + RequestOptions requestOptions) { + return this.serviceClient.getRelatedCategoriesWithResponseAsync(categoryId, requestOptions); + } + + /** + * Get all terms associated with the specific category. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 all terms associated with the specific category along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoryTermsWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoryTermsWithResponseAsync(categoryId, requestOptions); + } + + /** + * Create a glossary term. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTermWithResponse(BinaryData atlasGlossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.createTermWithResponseAsync(atlasGlossaryTerm, requestOptions); + } + + /** + * Get a specific glossary term by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 a specific glossary term by its GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.getTermWithResponseAsync(termId, requestOptions); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateTermWithResponse(String termId, BinaryData atlasGlossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.updateTermWithResponseAsync(termId, atlasGlossaryTerm, requestOptions); + } + + /** + * Delete a glossary term. + * + * @param termId The globally unique identifier for glossary term. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteTermWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.deleteTermWithResponseAsync(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
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @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 glossary term along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateTermWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateTermWithResponseAsync(termId, body, requestOptions); + } + + /** + * Create glossary terms in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary term definitions to be created in bulk. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTermsWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createTermsWithResponseAsync(body, requestOptions); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEntitiesAssignedWithTermWithResponse(String termId, + RequestOptions requestOptions) { + return this.serviceClient.getEntitiesAssignedWithTermWithResponseAsync(termId, requestOptions); + } + + /** + * Assign the given term to the provided list of related objects. Recommend using + * small batches with multiple API calls. + * + * [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 + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs to which the term has to be associated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> assignTermToEntitiesWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.assignTermToEntitiesWithResponseAsync(termId, body, requestOptions); + } + + /** + * Delete the term assignment for the given list of related objects. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs from which the term has to be dissociated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteTermAssignmentFromEntitiesWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.deleteTermAssignmentFromEntitiesWithResponseAsync(termId, body, requestOptions); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 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) + public Mono> getRelatedTermsWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.getRelatedTermsWithResponseAsync(termId, requestOptions); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific Glossary by its GUID along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Update the given glossary. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateWithResponse(String glossaryId, BinaryData atlasGlossary, + RequestOptions requestOptions) { + return this.serviceClient.updateWithResponseAsync(glossaryId, atlasGlossary, requestOptions); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 categories belonging to a specific glossary along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoriesWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoriesWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         categoryGuid: String (Optional)
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         parentCategoryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 category headers belonging to a specific glossary along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoriesHeadersWithResponse(String glossaryId, + RequestOptions requestOptions) { + return this.serviceClient.getCategoriesHeadersWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Get a specific glossary with detailed information. This API is not + * recommend. + * + * Recommend to fetch terms/categories details separately using + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     *     categoryInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             anchor (Optional): {
+     *                 displayText: String (Optional)
+     *                 glossaryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *             childrenCategories (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             parentCategory (Optional): (recursive schema, see parentCategory above)
+     *             terms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     *     termInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             abbreviation: String (Optional)
+     *             templateName (Optional): [
+     *                 Object (Optional)
+     *             ]
+     *             anchor (Optional): (recursive schema, see anchor above)
+     *             antonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             status: String(Draft/Approved/Alert/Expired) (Optional)
+     *             nickName: String (Optional)
+     *             hierarchyInfo (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Required): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                     }
+     *                     relationshipGuid: String (Optional)
+     *                     relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *                 }
+     *             ]
+     *             categories (Optional): [
+     *                  (Optional){
+     *                     categoryGuid: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 }
+     *             ]
+     *             classifies (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             examples (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             isA (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredToTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacedBy (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacementTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             seeAlso (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             synonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translatedTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translationTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             usage: String (Optional)
+     *             validValues (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             validValuesFor (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific glossary with detailed information along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getDetailedWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getDetailedWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @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 glossary object along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateWithResponse(String glossaryId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateWithResponseAsync(glossaryId, body, requestOptions); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 terms belonging to a specific glossary along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermsWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getTermsWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 term headers belonging to a specific glossary along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermHeadersWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getTermHeadersWithResponseAsync(glossaryId, requestOptions); + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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. + * @param sort The sort order, ASC (default) or DESC. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @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 all glossaries on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchGet(Integer limit, Integer offset, String sort, + Boolean ignoreTermsAndCategories) { + // Generated convenience method for batchGetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + if (ignoreTermsAndCategories != null) { + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + } + return batchGetWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY)); + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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. + * @throws ResourceNotFoundException thrown if 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 all glossaries on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchGet() { + // Generated convenience method for batchGetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchGetWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY)); + } + + /** + * Create a glossary. + * + * @param atlasGlossary The glossary object. + * @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 the glossary object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono create(AtlasGlossary atlasGlossary) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(atlasGlossary), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Create glossary category in bulk. + * + * @param body An array of glossary category definitions to be created. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategories(List body) { + // Generated convenience method for createCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoriesWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY)); + } + + /** + * Create a glossary category. + * + * @param atlasGlossaryCategory The glossary category. + * @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 the glossary category on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createCategory(AtlasGlossaryCategory atlasGlossaryCategory) { + // Generated convenience method for createCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoryWithResponse(BinaryData.fromObject(atlasGlossaryCategory), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * Get specific glossary category by its GUID. + * + * @param categoryId The globally unique identifier of the category. + * @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 specific glossary category by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getCategory(String categoryId) { + // Generated convenience method for getCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoryWithResponse(categoryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * Update the given glossary category by its GUID. + * + * @param categoryId The globally unique identifier of the category. + * @param atlasGlossaryCategory The glossary category. + * @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 the glossary category on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateCategory(String categoryId, AtlasGlossaryCategory atlasGlossaryCategory) { + // Generated convenience method for updateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateCategoryWithResponse(categoryId, BinaryData.fromObject(atlasGlossaryCategory), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * Delete a glossary category. + * + * @param categoryId The globally unique identifier of the category. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteCategory(String categoryId) { + // Generated convenience method for deleteCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteCategoryWithResponse(categoryId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + * + * @param categoryId The globally unique identifier of the category. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values for partial update. + * @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 the glossary category on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdateCategory(String categoryId, Map body) { + // Generated convenience method for partialUpdateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateCategoryWithResponse(categoryId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * 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. + * + * @param categoryId The globally unique identifier of the category. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 all related categories (parent and children) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono>> getRelatedCategories(String categoryId, Integer limit, + Integer offset, String sort) { + // Generated convenience method for getRelatedCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getRelatedCategoriesWithResponse(categoryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_CATEGORY_HEADER)); + } + + /** + * 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. + * + * @param categoryId The globally unique identifier of the category. + * @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 all related categories (parent and children) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono>> getRelatedCategories(String categoryId) { + // Generated convenience method for getRelatedCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelatedCategoriesWithResponse(categoryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_CATEGORY_HEADER)); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryId The globally unique identifier of the category. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 all terms associated with the specific category on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoryTerms(String categoryId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getCategoryTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getCategoryTermsWithResponse(categoryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER)); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryId The globally unique identifier of the category. + * @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 all terms associated with the specific category on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoryTerms(String categoryId) { + // Generated convenience method for getCategoryTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoryTermsWithResponse(categoryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER)); + } + + /** + * Create a glossary term. + * + * @param atlasGlossaryTerm The glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the glossary term on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createTerm(AtlasGlossaryTerm atlasGlossaryTerm, Boolean includeTermHierarchy) { + // Generated convenience method for createTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Create a glossary term. + * + * @param atlasGlossaryTerm The glossary term. + * @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 the glossary term on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + 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)); + } + + /** + * Get a specific glossary term by its GUID. + * + * @param termId The globally unique identifier for glossary term. + * @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 a specific glossary term by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTerm(String termId) { + // Generated convenience method for getTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermWithResponse(termId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Update the given glossary term by its GUID. + * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the glossary term on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateTerm(String termId, AtlasGlossaryTerm atlasGlossaryTerm, + Boolean includeTermHierarchy) { + // Generated convenience method for updateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Update the given glossary term by its GUID. + * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @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 the glossary term on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateTerm(String termId, AtlasGlossaryTerm atlasGlossaryTerm) { + // 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)); + } + + /** + * Delete a glossary term. + * + * @param termId The globally unique identifier for glossary term. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteTerm(String termId) { + // Generated convenience method for deleteTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteTermWithResponse(termId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the glossary term on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdateTerm(String termId, Map body, + Boolean includeTermHierarchy) { + // Generated convenience method for partialUpdateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return partialUpdateTermWithResponse(termId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @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 the glossary term on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdateTerm(String termId, Map body) { + // Generated convenience method for partialUpdateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateTermWithResponse(termId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Create glossary terms in bulk. + * + * @param body An array of glossary term definitions to be created in bulk. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTerms(List body, Boolean includeTermHierarchy) { + // Generated convenience method for createTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return createTermsWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM)); + } + + /** + * Create glossary terms in bulk. + * + * @param body An array of glossary term definitions to be created in bulk. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTerms(List body) { + // Generated convenience method for createTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTermsWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM)); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termId The globally unique identifier for glossary term. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEntitiesAssignedWithTerm(String termId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getEntitiesAssignedWithTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getEntitiesAssignedWithTermWithResponse(termId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_OBJECT_ID)); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termId The globally unique identifier for glossary term. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEntitiesAssignedWithTerm(String termId) { + // Generated convenience method for getEntitiesAssignedWithTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntitiesAssignedWithTermWithResponse(termId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_OBJECT_ID)); + } + + /** + * Assign the given term to the provided list of related objects. Recommend using + * small batches with multiple API calls. + * + * [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. + * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs to which the term has to be associated. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono assignTermToEntities(String termId, List body) { + // Generated convenience method for assignTermToEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return assignTermToEntitiesWithResponse(termId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Delete the term assignment for the given list of related objects. + * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs from which the term has to be dissociated. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteTermAssignmentFromEntities(String termId, List body) { + // Generated convenience method for deleteTermAssignmentFromEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteTermAssignmentFromEntitiesWithResponse(termId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * 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. + * + * @param termId The globally unique identifier for glossary term. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 all related terms for a specific term by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono>> getRelatedTerms(String termId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getRelatedTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getRelatedTermsWithResponse(termId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_TERM_HEADER)); + } + + /** + * 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. + * + * @param termId The globally unique identifier for glossary term. + * @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 all related terms for a specific term by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono>> getRelatedTerms(String termId) { + // Generated convenience method for getRelatedTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelatedTermsWithResponse(termId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_TERM_HEADER)); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific Glossary by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String glossaryId) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Update the given glossary. + * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @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 the glossary object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono update(String glossaryId, AtlasGlossary atlasGlossary, + Boolean ignoreTermsAndCategories) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (ignoreTermsAndCategories != null) { + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + } + return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Update the given glossary. + * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @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 the glossary object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + 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)); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono delete(String glossaryId) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 the categories belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategories(String glossaryId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getCategoriesWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY)); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 the categories belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategories(String glossaryId) { + // Generated convenience method for getCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoriesWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY)); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 the category headers belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoriesHeaders(String glossaryId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getCategoriesHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getCategoriesHeadersWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_CATEGORY_HEADER)); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 the category headers belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCategoriesHeaders(String glossaryId) { + // Generated convenience method for getCategoriesHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoriesHeadersWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_CATEGORY_HEADER)); + } + + /** + * Get a specific glossary with detailed information. This API is not + * recommend. + * + * Recommend to fetch terms/categories details separately using + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific glossary with detailed information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getDetailed(String glossaryId) { + // Generated convenience method for getDetailedWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getDetailedWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryExtInfo.class)); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @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 the glossary object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdate(String glossaryId, Map body, + Boolean ignoreTermsAndCategories) { + // Generated convenience method for partialUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (ignoreTermsAndCategories != null) { + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + } + return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @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 the glossary object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdate(String glossaryId, Map body) { + // 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)); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 terms belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTerms(String glossaryId, Integer limit, Integer offset, String sort) { + // Generated convenience method for getTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getTermsWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM)); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 terms belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTerms(String glossaryId) { + // Generated convenience method for getTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermsWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM)); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 term headers belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermHeaders(String glossaryId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getTermHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getTermHeadersWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER)); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 term headers belonging to a specific glossary on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermHeaders(String glossaryId) { + // Generated convenience method for getTermHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermHeadersWithResponse(glossaryId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER)); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_GLOSSARY + = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER + = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM + = new TypeReference>() { + }; + + @Generated + private static final TypeReference>> TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_CATEGORY_HEADER + = new TypeReference>>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_RELATED_OBJECT_ID + = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY + = new TypeReference>() { + }; + + @Generated + private static final TypeReference>> TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_TERM_HEADER + = new TypeReference>>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_RELATED_CATEGORY_HEADER + = new TypeReference>() { + }; +} 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 new file mode 100644 index 0000000000000..e658f7d9d8012 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/GlossaryClient.java @@ -0,0 +1,5002 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.GlossariesImpl; +import com.azure.analytics.purview.datamap.models.AtlasGlossary; +import com.azure.analytics.purview.datamap.models.AtlasGlossaryCategory; +import com.azure.analytics.purview.datamap.models.AtlasGlossaryExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasGlossaryTerm; +import com.azure.analytics.purview.datamap.models.AtlasRelatedCategoryHeader; +import com.azure.analytics.purview.datamap.models.AtlasRelatedObjectId; +import com.azure.analytics.purview.datamap.models.AtlasRelatedTermHeader; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import java.util.List; +import java.util.Map; + +/** + * Initializes a new instance of the synchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class) +public final class GlossaryClient { + @Generated + private final GlossariesImpl serviceClient; + + /** + * Initializes an instance of GlossaryClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + GlossaryClient(GlossariesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         language: String (Optional)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         usage: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 all glossaries along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchGetWithResponse(RequestOptions requestOptions) { + return this.serviceClient.batchGetWithResponse(requestOptions); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse(BinaryData atlasGlossary, RequestOptions requestOptions) { + return this.serviceClient.createWithResponse(atlasGlossary, requestOptions); + } + + /** + * Create glossary category in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary category definitions to be created. + * @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 response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCategoriesWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createCategoriesWithResponse(body, requestOptions); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCategoryWithResponse(BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.createCategoryWithResponse(atlasGlossaryCategory, requestOptions); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 specific glossary category by its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoryWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoryWithResponse(categoryId, requestOptions); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateCategoryWithResponse(String categoryId, BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.updateCategoryWithResponse(categoryId, atlasGlossaryCategory, requestOptions); + } + + /** + * Delete a glossary category. + * + * @param categoryId The globally unique identifier of the category. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteCategoryWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.deleteCategoryWithResponse(categoryId, requestOptions); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values for partial update. + * @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 glossary category along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateCategoryWithResponse(String categoryId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateCategoryWithResponse(categoryId, body, requestOptions); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 all related categories (parent and children) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelatedCategoriesWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.getRelatedCategoriesWithResponse(categoryId, requestOptions); + } + + /** + * Get all terms associated with the specific category. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 all terms associated with the specific category along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoryTermsWithResponse(String categoryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoryTermsWithResponse(categoryId, requestOptions); + } + + /** + * Create a glossary term. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTermWithResponse(BinaryData atlasGlossaryTerm, RequestOptions requestOptions) { + return this.serviceClient.createTermWithResponse(atlasGlossaryTerm, requestOptions); + } + + /** + * Get a specific glossary term by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 a specific glossary term by its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.getTermWithResponse(termId, requestOptions); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateTermWithResponse(String termId, BinaryData atlasGlossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.updateTermWithResponse(termId, atlasGlossaryTerm, requestOptions); + } + + /** + * Delete a glossary term. + * + * @param termId The globally unique identifier for glossary term. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteTermWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.deleteTermWithResponse(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
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @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 glossary term along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateTermWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateTermWithResponse(termId, body, requestOptions); + } + + /** + * Create glossary terms in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary term definitions to be created in bulk. + * @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 response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTermsWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createTermsWithResponse(body, requestOptions); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEntitiesAssignedWithTermWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.getEntitiesAssignedWithTermWithResponse(termId, requestOptions); + } + + /** + * Assign the given term to the provided list of related objects. Recommend using + * small batches with multiple API calls. + * + * [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 + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs to which the term has to be associated. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response assignTermToEntitiesWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.assignTermToEntitiesWithResponse(termId, body, requestOptions); + } + + /** + * Delete the term assignment for the given list of related objects. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs from which the term has to be dissociated. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteTermAssignmentFromEntitiesWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.deleteTermAssignmentFromEntitiesWithResponse(termId, body, requestOptions); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 all related terms for a specific term by its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelatedTermsWithResponse(String termId, RequestOptions requestOptions) { + return this.serviceClient.getRelatedTermsWithResponse(termId, requestOptions); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific Glossary by its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(glossaryId, requestOptions); + } + + /** + * Update the given glossary. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(String glossaryId, BinaryData atlasGlossary, + RequestOptions requestOptions) { + return this.serviceClient.updateWithResponse(glossaryId, atlasGlossary, requestOptions); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponse(glossaryId, requestOptions); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 categories belonging to a specific glossary along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoriesWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoriesWithResponse(glossaryId, requestOptions); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         categoryGuid: String (Optional)
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         parentCategoryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 category headers belonging to a specific glossary along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoriesHeadersWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getCategoriesHeadersWithResponse(glossaryId, requestOptions); + } + + /** + * Get a specific glossary with detailed information. This API is not + * recommend. + * + * Recommend to fetch terms/categories details separately using + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     *     categoryInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             anchor (Optional): {
+     *                 displayText: String (Optional)
+     *                 glossaryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *             childrenCategories (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             parentCategory (Optional): (recursive schema, see parentCategory above)
+     *             terms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     *     termInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             abbreviation: String (Optional)
+     *             templateName (Optional): [
+     *                 Object (Optional)
+     *             ]
+     *             anchor (Optional): (recursive schema, see anchor above)
+     *             antonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             status: String(Draft/Approved/Alert/Expired) (Optional)
+     *             nickName: String (Optional)
+     *             hierarchyInfo (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Required): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                     }
+     *                     relationshipGuid: String (Optional)
+     *                     relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *                 }
+     *             ]
+     *             categories (Optional): [
+     *                  (Optional){
+     *                     categoryGuid: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 }
+     *             ]
+     *             classifies (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             examples (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             isA (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredToTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacedBy (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacementTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             seeAlso (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             synonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translatedTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translationTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             usage: String (Optional)
+     *             validValues (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             validValuesFor (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific glossary with detailed information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getDetailedWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getDetailedWithResponse(glossaryId, requestOptions); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @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 glossary object along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateWithResponse(String glossaryId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateWithResponse(glossaryId, body, requestOptions); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 terms belonging to a specific glossary along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermsWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getTermsWithResponse(glossaryId, requestOptions); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 term headers belonging to a specific glossary along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermHeadersWithResponse(String glossaryId, RequestOptions requestOptions) { + return this.serviceClient.getTermHeadersWithResponse(glossaryId, requestOptions); + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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. + * @param sort The sort order, ASC (default) or DESC. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @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 all glossaries. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List batchGet(Integer limit, Integer offset, String sort, Boolean ignoreTermsAndCategories) { + // Generated convenience method for batchGetWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + if (ignoreTermsAndCategories != null) { + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + } + return batchGetWithResponse(requestOptions).getValue().toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY); + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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. + * @throws ResourceNotFoundException thrown if 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 all glossaries. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List batchGet() { + // Generated convenience method for batchGetWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchGetWithResponse(requestOptions).getValue().toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY); + } + + /** + * Create a glossary. + * + * @param atlasGlossary The glossary object. + * @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 the glossary object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary create(AtlasGlossary atlasGlossary) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(atlasGlossary), requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Create glossary category in bulk. + * + * @param body An array of glossary category definitions to be created. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List createCategories(List body) { + // Generated convenience method for createCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoriesWithResponse(BinaryData.fromObject(body), requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY); + } + + /** + * Create a glossary category. + * + * @param atlasGlossaryCategory The glossary category. + * @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 the glossary category. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryCategory createCategory(AtlasGlossaryCategory atlasGlossaryCategory) { + // Generated convenience method for createCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoryWithResponse(BinaryData.fromObject(atlasGlossaryCategory), requestOptions).getValue() + .toObject(AtlasGlossaryCategory.class); + } + + /** + * Get specific glossary category by its GUID. + * + * @param categoryId The globally unique identifier of the category. + * @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 specific glossary category by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryCategory getCategory(String categoryId) { + // Generated convenience method for getCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoryWithResponse(categoryId, requestOptions).getValue().toObject(AtlasGlossaryCategory.class); + } + + /** + * Update the given glossary category by its GUID. + * + * @param categoryId The globally unique identifier of the category. + * @param atlasGlossaryCategory The glossary category. + * @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 the glossary category. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryCategory updateCategory(String categoryId, AtlasGlossaryCategory atlasGlossaryCategory) { + // Generated convenience method for updateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateCategoryWithResponse(categoryId, BinaryData.fromObject(atlasGlossaryCategory), requestOptions) + .getValue().toObject(AtlasGlossaryCategory.class); + } + + /** + * Delete a glossary category. + * + * @param categoryId The globally unique identifier of the category. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteCategory(String categoryId) { + // Generated convenience method for deleteCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteCategoryWithResponse(categoryId, requestOptions).getValue(); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + * + * @param categoryId The globally unique identifier of the category. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values for partial update. + * @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 the glossary category. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryCategory partialUpdateCategory(String categoryId, Map body) { + // Generated convenience method for partialUpdateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateCategoryWithResponse(categoryId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(AtlasGlossaryCategory.class); + } + + /** + * 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. + * + * @param categoryId The globally unique identifier of the category. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 all related categories (parent and children). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Map> getRelatedCategories(String categoryId, Integer limit, + Integer offset, String sort) { + // Generated convenience method for getRelatedCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getRelatedCategoriesWithResponse(categoryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_CATEGORY_HEADER); + } + + /** + * 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. + * + * @param categoryId The globally unique identifier of the category. + * @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 all related categories (parent and children). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Map> getRelatedCategories(String categoryId) { + // Generated convenience method for getRelatedCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelatedCategoriesWithResponse(categoryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_CATEGORY_HEADER); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryId The globally unique identifier of the category. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 all terms associated with the specific category. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getCategoryTerms(String categoryId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getCategoryTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getCategoryTermsWithResponse(categoryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryId The globally unique identifier of the category. + * @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 all terms associated with the specific category. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getCategoryTerms(String categoryId) { + // Generated convenience method for getCategoryTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoryTermsWithResponse(categoryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER); + } + + /** + * Create a glossary term. + * + * @param atlasGlossaryTerm The glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the glossary term. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm createTerm(AtlasGlossaryTerm atlasGlossaryTerm, Boolean includeTermHierarchy) { + // Generated convenience method for createTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions).getValue() + .toObject(AtlasGlossaryTerm.class); + } + + /** + * Create a glossary term. + * + * @param atlasGlossaryTerm The glossary term. + * @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 the glossary term. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm createTerm(AtlasGlossaryTerm atlasGlossaryTerm) { + // Generated convenience method for createTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTermWithResponse(BinaryData.fromObject(atlasGlossaryTerm), requestOptions).getValue() + .toObject(AtlasGlossaryTerm.class); + } + + /** + * Get a specific glossary term by its GUID. + * + * @param termId The globally unique identifier for glossary term. + * @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 a specific glossary term by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm getTerm(String termId) { + // Generated convenience method for getTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermWithResponse(termId, requestOptions).getValue().toObject(AtlasGlossaryTerm.class); + } + + /** + * Update the given glossary term by its GUID. + * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the glossary term. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm updateTerm(String termId, AtlasGlossaryTerm atlasGlossaryTerm, + Boolean includeTermHierarchy) { + // Generated convenience method for updateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions).getValue() + .toObject(AtlasGlossaryTerm.class); + } + + /** + * Update the given glossary term by its GUID. + * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @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 the glossary term. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm updateTerm(String termId, AtlasGlossaryTerm atlasGlossaryTerm) { + // Generated convenience method for updateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateTermWithResponse(termId, BinaryData.fromObject(atlasGlossaryTerm), requestOptions).getValue() + .toObject(AtlasGlossaryTerm.class); + } + + /** + * Delete a glossary term. + * + * @param termId The globally unique identifier for glossary term. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteTerm(String termId) { + // Generated convenience method for deleteTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteTermWithResponse(termId, requestOptions).getValue(); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the glossary term. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm partialUpdateTerm(String termId, Map body, Boolean includeTermHierarchy) { + // Generated convenience method for partialUpdateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return partialUpdateTermWithResponse(termId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(AtlasGlossaryTerm.class); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @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 the glossary term. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryTerm partialUpdateTerm(String termId, Map body) { + // Generated convenience method for partialUpdateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateTermWithResponse(termId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(AtlasGlossaryTerm.class); + } + + /** + * Create glossary terms in bulk. + * + * @param body An array of glossary term definitions to be created in bulk. + * @param includeTermHierarchy Whether include term hierarchy. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List createTerms(List body, Boolean includeTermHierarchy) { + // Generated convenience method for createTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermHierarchy != null) { + requestOptions.addQueryParam("includeTermHierarchy", String.valueOf(includeTermHierarchy), false); + } + return createTermsWithResponse(BinaryData.fromObject(body), requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM); + } + + /** + * Create glossary terms in bulk. + * + * @param body An array of glossary term definitions to be created in bulk. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List createTerms(List body) { + // Generated convenience method for createTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTermsWithResponse(BinaryData.fromObject(body), requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termId The globally unique identifier for glossary term. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getEntitiesAssignedWithTerm(String termId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getEntitiesAssignedWithTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getEntitiesAssignedWithTermWithResponse(termId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_OBJECT_ID); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termId The globally unique identifier for glossary term. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getEntitiesAssignedWithTerm(String termId) { + // Generated convenience method for getEntitiesAssignedWithTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntitiesAssignedWithTermWithResponse(termId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_OBJECT_ID); + } + + /** + * Assign the given term to the provided list of related objects. Recommend using + * small batches with multiple API calls. + * + * [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. + * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs to which the term has to be associated. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void assignTermToEntities(String termId, List body) { + // Generated convenience method for assignTermToEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + assignTermToEntitiesWithResponse(termId, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Delete the term assignment for the given list of related objects. + * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs from which the term has to be dissociated. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteTermAssignmentFromEntities(String termId, List body) { + // Generated convenience method for deleteTermAssignmentFromEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteTermAssignmentFromEntitiesWithResponse(termId, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * 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. + * + * @param termId The globally unique identifier for glossary term. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 all related terms for a specific term by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Map> getRelatedTerms(String termId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getRelatedTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getRelatedTermsWithResponse(termId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_TERM_HEADER); + } + + /** + * 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. + * + * @param termId The globally unique identifier for glossary term. + * @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 all related terms for a specific term by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Map> getRelatedTerms(String termId) { + // Generated convenience method for getRelatedTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelatedTermsWithResponse(termId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_TERM_HEADER); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific Glossary by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary get(String glossaryId) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(glossaryId, requestOptions).getValue().toObject(AtlasGlossary.class); + } + + /** + * Update the given glossary. + * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @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 the glossary object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary update(String glossaryId, AtlasGlossary atlasGlossary, Boolean ignoreTermsAndCategories) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (ignoreTermsAndCategories != null) { + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + } + return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Update the given glossary. + * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @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 the glossary object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary update(String glossaryId, AtlasGlossary atlasGlossary) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(glossaryId, BinaryData.fromObject(atlasGlossary), requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void delete(String glossaryId) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(glossaryId, requestOptions).getValue(); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 the categories belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getCategories(String glossaryId, Integer limit, Integer offset, String sort) { + // Generated convenience method for getCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getCategoriesWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 the categories belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getCategories(String glossaryId) { + // Generated convenience method for getCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoriesWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 the category headers belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getCategoriesHeaders(String glossaryId, Integer limit, Integer offset, + String sort) { + // Generated convenience method for getCategoriesHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getCategoriesHeadersWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_CATEGORY_HEADER); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 the category headers belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getCategoriesHeaders(String glossaryId) { + // Generated convenience method for getCategoriesHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoriesHeadersWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_CATEGORY_HEADER); + } + + /** + * Get a specific glossary with detailed information. This API is not + * recommend. + * + * Recommend to fetch terms/categories details separately using + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific glossary with detailed information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryExtInfo getDetailed(String glossaryId) { + // Generated convenience method for getDetailedWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getDetailedWithResponse(glossaryId, requestOptions).getValue().toObject(AtlasGlossaryExtInfo.class); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @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 the glossary object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary partialUpdate(String glossaryId, Map body, Boolean ignoreTermsAndCategories) { + // Generated convenience method for partialUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (ignoreTermsAndCategories != null) { + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + } + return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @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 the glossary object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary partialUpdate(String glossaryId, Map body) { + // Generated convenience method for partialUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateWithResponse(glossaryId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 terms belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getTerms(String glossaryId, Integer limit, Integer offset, String sort) { + // Generated convenience method for getTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getTermsWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 terms belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getTerms(String glossaryId) { + // Generated convenience method for getTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermsWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @param limit The page size - by default there is no paging. + * @param offset The offset for pagination purpose. + * @param sort The sort order, ASC (default) or DESC. + * @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 term headers belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getTermHeaders(String glossaryId, Integer limit, Integer offset, String sort) { + // Generated convenience method for getTermHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (sort != null) { + requestOptions.addQueryParam("sort", sort, false); + } + return getTermHeadersWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 term headers belonging to a specific glossary. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getTermHeaders(String glossaryId) { + // Generated convenience method for getTermHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermHeadersWithResponse(glossaryId, requestOptions).getValue() + .toObject(TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_GLOSSARY + = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_RELATED_TERM_HEADER + = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_TERM + = new TypeReference>() { + }; + + @Generated + private static final TypeReference>> TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_CATEGORY_HEADER + = new TypeReference>>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_RELATED_OBJECT_ID + = new TypeReference>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_GLOSSARY_CATEGORY + = new TypeReference>() { + }; + + @Generated + private static final TypeReference>> TYPE_REFERENCE_MAP_STRING_LIST_ATLAS_RELATED_TERM_HEADER + = new TypeReference>>() { + }; + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_RELATED_CATEGORY_HEADER + = new TypeReference>() { + }; +} 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 new file mode 100644 index 0000000000000..f55006d4631f0 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageAsyncClient.java @@ -0,0 +1,625 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.LineagesImpl; +import com.azure.analytics.purview.datamap.models.AtlasLineageInfo; +import com.azure.analytics.purview.datamap.models.LineageDirection; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class, isAsync = true) +public final class LineageAsyncClient { + @Generated + private final LineagesImpl serviceClient; + + /** + * Initializes an instance of LineageAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + LineageAsyncClient(LineagesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponse(String guid, String direction, RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(guid, direction, requestOptions); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getNextPageWithResponse(String guid, String direction, + RequestOptions requestOptions) { + return this.serviceClient.getNextPageWithResponseAsync(guid, direction, requestOptions); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByUniqueAttributeWithResponse(String typeName, String direction, + RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributeWithResponseAsync(typeName, direction, requestOptions); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param depth The number of hops for lineage. + * @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 lineage info of the entity specified by GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String guid, LineageDirection direction, Integer depth) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (depth != null) { + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + } + return getWithResponse(guid, direction.toString(), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @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 lineage info of the entity specified by GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String guid, LineageDirection direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, direction.toString(), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + } + + /** + * Return immediate next page lineage info about entity with pagination. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param offset The offset for pagination purpose. + * @param limit The page size - by default there is no paging. + * @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 the lineage information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getNextPage(String guid, LineageDirection direction, Integer offset, Integer limit) { + // Generated convenience method for getNextPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + return getNextPageWithResponse(guid, direction.toString(), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + } + + /** + * Return immediate next page lineage info about entity with pagination. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @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 the lineage information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getNextPage(String guid, LineageDirection direction) { + // Generated convenience method for getNextPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getNextPageWithResponse(guid, direction.toString(), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param depth The number of hops for lineage. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 the lineage information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByUniqueAttribute(String typeName, LineageDirection direction, Integer depth, + String attribute) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (depth != null) { + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + } + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @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 the lineage information on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByUniqueAttribute(String typeName, LineageDirection direction) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions) + .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 new file mode 100644 index 0000000000000..354ff8d620041 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/LineageClient.java @@ -0,0 +1,619 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.LineagesImpl; +import com.azure.analytics.purview.datamap.models.AtlasLineageInfo; +import com.azure.analytics.purview.datamap.models.LineageDirection; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; + +/** + * Initializes a new instance of the synchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class) +public final class LineageClient { + @Generated + private final LineagesImpl serviceClient; + + /** + * Initializes an instance of LineageClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + LineageClient(LineagesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String guid, String direction, RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(guid, direction, requestOptions); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getNextPageWithResponse(String guid, String direction, RequestOptions requestOptions) { + return this.serviceClient.getNextPageWithResponse(guid, direction, requestOptions); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByUniqueAttributeWithResponse(String typeName, String direction, + RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributeWithResponse(typeName, direction, requestOptions); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param depth The number of hops for lineage. + * @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 lineage info of the entity specified by GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasLineageInfo get(String guid, LineageDirection direction, Integer depth) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (depth != null) { + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + } + return getWithResponse(guid, direction.toString(), requestOptions).getValue().toObject(AtlasLineageInfo.class); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @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 lineage info of the entity specified by GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasLineageInfo get(String guid, LineageDirection direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, direction.toString(), requestOptions).getValue().toObject(AtlasLineageInfo.class); + } + + /** + * Return immediate next page lineage info about entity with pagination. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param offset The offset for pagination purpose. + * @param limit The page size - by default there is no paging. + * @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 the lineage information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasLineageInfo getNextPage(String guid, LineageDirection direction, Integer offset, Integer limit) { + // Generated convenience method for getNextPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (offset != null) { + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + return getNextPageWithResponse(guid, direction.toString(), requestOptions).getValue() + .toObject(AtlasLineageInfo.class); + } + + /** + * Return immediate next page lineage info about entity with pagination. + * + * @param guid The globally unique identifier of the entity. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @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 the lineage information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasLineageInfo getNextPage(String guid, LineageDirection direction) { + // Generated convenience method for getNextPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getNextPageWithResponse(guid, direction.toString(), requestOptions).getValue() + .toObject(AtlasLineageInfo.class); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param depth The number of hops for lineage. + * @param attribute The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @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 the lineage information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasLineageInfo getByUniqueAttribute(String typeName, LineageDirection direction, Integer depth, + String attribute) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (depth != null) { + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + } + if (attribute != null) { + requestOptions.addQueryParam("attr:qualifiedName", attribute, false); + } + return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions).getValue() + .toObject(AtlasLineageInfo.class); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + * + * @param typeName The name of the type. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @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 the lineage information. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasLineageInfo getByUniqueAttribute(String typeName, LineageDirection direction) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributeWithResponse(typeName, direction.toString(), requestOptions).getValue() + .toObject(AtlasLineageInfo.class); + } +} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapServiceVersion.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapServiceVersion.java new file mode 100644 index 0000000000000..ee5e4902747eb --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapServiceVersion.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.core.util.ServiceVersion; + +/** + * Service version of PurviewDataMapClient. + */ +public enum PurviewDataMapServiceVersion implements ServiceVersion { + /** + * Enum value 2023-09-01. + */ + V2023_09_01("2023-09-01"); + + private final String version; + + PurviewDataMapServiceVersion(String version) { + this.version = version; + } + + /** + * {@inheritDoc} + */ + @Override + public String getVersion() { + return this.version; + } + + /** + * Gets the latest service version supported by this client library. + * + * @return The latest {@link PurviewDataMapServiceVersion}. + */ + public static PurviewDataMapServiceVersion getLatest() { + return V2023_09_01; + } +} 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 new file mode 100644 index 0000000000000..40d89b2ebcf42 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipAsyncClient.java @@ -0,0 +1,443 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.RelationshipsImpl; +import com.azure.analytics.purview.datamap.models.AtlasRelationship; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipWithExtInfo; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class, isAsync = true) +public final class RelationshipAsyncClient { + @Generated + private final RelationshipsImpl serviceClient; + + /** + * Initializes an instance of RelationshipAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + RelationshipAsyncClient(RelationshipsImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createWithResponse(BinaryData atlasRelationship, RequestOptions requestOptions) { + return this.serviceClient.createWithResponseAsync(atlasRelationship, requestOptions); + } + + /** + * Update an existing relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateWithResponse(BinaryData atlasRelationship, RequestOptions requestOptions) { + return this.serviceClient.updateWithResponseAsync(atlasRelationship, requestOptions); + } + + /** + * Get relationship information between entities by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     relationship (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Integer (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Long (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 relationship information between entities by its GUID along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(guid, requestOptions); + } + + /** + * Delete a relationship between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponseAsync(guid, requestOptions); + } + + /** + * Create a new relationship between entities. + * + * @param atlasRelationship Atlas relationship 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 atlas relationship instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono create(AtlasRelationship atlasRelationship) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(atlasRelationship), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationship.class)); + } + + /** + * Update an existing relationship between entities. + * + * @param atlasRelationship Atlas relationship 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 atlas relationship instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono update(AtlasRelationship atlasRelationship) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(BinaryData.fromObject(atlasRelationship), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationship.class)); + } + + /** + * Get relationship information between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @param extendedInfo Limits whether includes extended information. + * @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 relationship information between entities by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String guid, Boolean extendedInfo) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (extendedInfo != null) { + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + } + return getWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationshipWithExtInfo.class)); + } + + /** + * Get relationship information between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 relationship information between entities by its GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(String guid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationshipWithExtInfo.class)); + } + + /** + * Delete a relationship between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } +} 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 new file mode 100644 index 0000000000000..71831f545a6ea --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/RelationshipClient.java @@ -0,0 +1,437 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.RelationshipsImpl; +import com.azure.analytics.purview.datamap.models.AtlasRelationship; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipWithExtInfo; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; + +/** + * Initializes a new instance of the synchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class) +public final class RelationshipClient { + @Generated + private final RelationshipsImpl serviceClient; + + /** + * Initializes an instance of RelationshipClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + RelationshipClient(RelationshipsImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse(BinaryData atlasRelationship, RequestOptions requestOptions) { + return this.serviceClient.createWithResponse(atlasRelationship, requestOptions); + } + + /** + * Update an existing relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(BinaryData atlasRelationship, RequestOptions requestOptions) { + return this.serviceClient.updateWithResponse(atlasRelationship, requestOptions); + } + + /** + * Get relationship information between entities by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     relationship (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Integer (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Long (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 relationship information between entities by its GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(guid, requestOptions); + } + + /** + * Delete a relationship between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponse(guid, requestOptions); + } + + /** + * Create a new relationship between entities. + * + * @param atlasRelationship Atlas relationship 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 atlas relationship instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationship create(AtlasRelationship atlasRelationship) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(atlasRelationship), requestOptions).getValue() + .toObject(AtlasRelationship.class); + } + + /** + * Update an existing relationship between entities. + * + * @param atlasRelationship Atlas relationship 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 atlas relationship instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationship update(AtlasRelationship atlasRelationship) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(BinaryData.fromObject(atlasRelationship), requestOptions).getValue() + .toObject(AtlasRelationship.class); + } + + /** + * Get relationship information between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @param extendedInfo Limits whether includes extended information. + * @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 relationship information between entities by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationshipWithExtInfo get(String guid, Boolean extendedInfo) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (extendedInfo != null) { + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + } + return getWithResponse(guid, requestOptions).getValue().toObject(AtlasRelationshipWithExtInfo.class); + } + + /** + * Get relationship information between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 relationship information between entities by its GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationshipWithExtInfo get(String guid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, requestOptions).getValue().toObject(AtlasRelationshipWithExtInfo.class); + } + + /** + * Delete a relationship between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(guid, requestOptions).getValue(); + } +} 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 new file mode 100644 index 0000000000000..bd87a5f6110dd --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionAsyncClient.java @@ -0,0 +1,4290 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.TypeDefinitionsImpl; +import com.azure.analytics.purview.datamap.models.AtlasBusinessMetadataDef; +import com.azure.analytics.purview.datamap.models.AtlasClassificationDef; +import com.azure.analytics.purview.datamap.models.AtlasEntityDef; +import com.azure.analytics.purview.datamap.models.AtlasEnumDef; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipDef; +import com.azure.analytics.purview.datamap.models.AtlasStructDef; +import com.azure.analytics.purview.datamap.models.AtlasTypeDef; +import com.azure.analytics.purview.datamap.models.AtlasTypeDefHeader; +import com.azure.analytics.purview.datamap.models.AtlasTypesDef; +import com.azure.analytics.purview.datamap.models.TermTemplateDef; +import com.azure.analytics.purview.datamap.models.TypeCategory; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.TypeReference; +import java.util.List; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class, isAsync = true) +public final class TypeDefinitionAsyncClient { + @Generated + private final TypeDefinitionsImpl serviceClient; + + /** + * Initializes an instance of TypeDefinitionAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + TypeDefinitionAsyncClient(TypeDefinitionsImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get the businessMetadata definition for the given guid. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid businessMetadata guid. + * @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 businessMetadata definition for the given guid along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getBusinessMetadataByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the businessMetadata definition by it's name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name businessMetadata name. + * @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 businessMetadata definition by it's name (unique) along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getBusinessMetadataByNameWithResponse(String name, + RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the classification definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the classification. + * @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 classification definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassificationByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getClassificationByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the classification definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the classification. + * @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 classification definition by its name (unique) along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassificationByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getClassificationByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the Entity definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 Entity definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEntityByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEntityByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the entity definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the entity. + * @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 entity definition by its name (unique) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEntityByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEntityByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the enum definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the enum. + * @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 enum definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEnumByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEnumByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the enum definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the enum. + * @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 enum definition by its name (unique) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEnumByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEnumByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the relationship definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 relationship definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getRelationshipByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the relationship definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param name The name of the relationship. + * @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 relationship definition by its name (unique) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getRelationshipByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the struct definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the struct. + * @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 struct definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStructByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getStructByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the struct definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the struct. + * @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 struct definition by its name (unique) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getStructByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getStructByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the type definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the type. + * @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 type definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the type definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type. + * @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 type definition by its name (unique) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getByNameWithResponseAsync(name, requestOptions); + } + + /** + * Delete API for type identified by its name. + * + * @param name The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponseAsync(name, requestOptions); + } + + /** + * List all type definitions in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(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 + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchCreateWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + return this.serviceClient.batchCreateWithResponseAsync(atlasTypesDef, requestOptions); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchUpdateWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + return this.serviceClient.batchUpdateWithResponseAsync(atlasTypesDef, requestOptions); + } + + /** + * Delete API for all types in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchDeleteWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + return this.serviceClient.batchDeleteWithResponseAsync(atlasTypesDef, requestOptions); + } + + /** + * List all type definitions returned as a list of minimal information header. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *         guid: String (Optional)
+     *         name: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getHeadersWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getHeadersWithResponseAsync(requestOptions); + } + + /** + * Get the term template definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the term template. + * @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 term template definition for the given GUID along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermTemplateByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateByIdWithResponseAsync(guid, requestOptions); + } + + /** + * Get the term template definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The unique name of the term template. + * @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 term template definition by its name (unique) along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTermTemplateByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateByNameWithResponseAsync(name, requestOptions); + } + + /** + * Get the businessMetadata definition for the given guid. + * + * @param guid businessMetadata guid. + * @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 the businessMetadata definition for the given guid on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getBusinessMetadataById(String guid) { + // Generated convenience method for getBusinessMetadataByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasBusinessMetadataDef.class)); + } + + /** + * Get the businessMetadata definition by it's name (unique). + * + * @param name businessMetadata name. + * @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 the businessMetadata definition by it's name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getBusinessMetadataByName(String name) { + // Generated convenience method for getBusinessMetadataByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasBusinessMetadataDef.class)); + } + + /** + * Get the classification definition for the given GUID. + * + * @param guid The globally unique identifier of the classification. + * @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 the classification definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassificationById(String guid) { + // Generated convenience method for getClassificationByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasClassificationDef.class)); + } + + /** + * Get the classification definition by its name (unique). + * + * @param name The name of the classification. + * @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 the classification definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getClassificationByName(String name) { + // Generated convenience method for getClassificationByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasClassificationDef.class)); + } + + /** + * Get the Entity definition for the given GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 the Entity definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getEntityById(String guid) { + // Generated convenience method for getEntityByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityDef.class)); + } + + /** + * Get the entity definition by its name (unique). + * + * @param name The name of the entity. + * @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 the entity definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getEntityByName(String name) { + // Generated convenience method for getEntityByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEntityDef.class)); + } + + /** + * Get the enum definition for the given GUID. + * + * @param guid The globally unique identifier of the enum. + * @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 the enum definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getEnumById(String guid) { + // Generated convenience method for getEnumByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEnumDef.class)); + } + + /** + * Get the enum definition by its name (unique). + * + * @param name The name of the enum. + * @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 the enum definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getEnumByName(String name) { + // Generated convenience method for getEnumByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasEnumDef.class)); + } + + /** + * Get the relationship definition for the given GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 the relationship definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getRelationshipById(String guid) { + // Generated convenience method for getRelationshipByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationshipDef.class)); + } + + /** + * Get the relationship definition by its name (unique). + * + * @param name The name of the relationship. + * @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 the relationship definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getRelationshipByName(String name) { + // Generated convenience method for getRelationshipByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationshipDef.class)); + } + + /** + * Get the struct definition for the given GUID. + * + * @param guid The globally unique identifier of the struct. + * @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 the struct definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getStructById(String guid) { + // Generated convenience method for getStructByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasStructDef.class)); + } + + /** + * Get the struct definition by its name (unique). + * + * @param name The name of the struct. + * @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 the struct definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getStructByName(String name) { + // Generated convenience method for getStructByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasStructDef.class)); + } + + /** + * Get the type definition for the given GUID. + * + * @param guid The globally unique identifier of the type. + * @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 the type definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getById(String guid) { + // Generated convenience method for getByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypeDef.class)); + } + + /** + * Get the type definition by its name (unique). + * + * @param name The name of the type. + * @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 the type definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getByName(String name) { + // Generated convenience method for getByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypeDef.class)); + } + + /** + * Delete API for type identified by its name. + * + * @param name The name of the type. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono delete(String name) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(name, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * List all type definitions in bulk. + * + * @param includeTermTemplate Whether include termtemplatedef when return all typedefs. + * This is always true + * when search filter type=term_template. + * @param type Typedef name as search filter when get typedefs. + * @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 the definitions of types on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get(Boolean includeTermTemplate, TypeCategory type) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermTemplate != null) { + requestOptions.addQueryParam("includeTermTemplate", String.valueOf(includeTermTemplate), false); + } + if (type != null) { + requestOptions.addQueryParam("type", type.toString(), false); + } + return getWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypesDef.class)); + } + + /** + * List all type definitions in bulk. + * + * @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 the definitions of types on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono get() { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypesDef.class)); + } + + /** + * Create all atlas type definitions in bulk, only new definitions will be + * created. + * Any changes to the existing definitions will be discarded. + * + * @param atlasTypesDef The definitions of types. + * @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 the definitions of types on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchCreate(AtlasTypesDef atlasTypesDef) { + // Generated convenience method for batchCreateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchCreateWithResponse(BinaryData.fromObject(atlasTypesDef), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypesDef.class)); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + * + * @param atlasTypesDef The definitions of types. + * @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 the definitions of types on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchUpdate(AtlasTypesDef atlasTypesDef) { + // Generated convenience method for batchUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchUpdateWithResponse(BinaryData.fromObject(atlasTypesDef), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypesDef.class)); + } + + /** + * Delete API for all types in bulk. + * + * @param atlasTypesDef The definitions of types. + * @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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono batchDelete(AtlasTypesDef atlasTypesDef) { + // Generated convenience method for batchDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchDeleteWithResponse(BinaryData.fromObject(atlasTypesDef), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * List all type definitions returned as a list of minimal information header. + * + * @param includeTermTemplate Whether include termtemplatedef when return all typedefs. + * This is always true + * when search filter type=term_template. + * @param type Typedef name as search filter when get typedefs. + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getHeaders(Boolean includeTermTemplate, TypeCategory type) { + // Generated convenience method for getHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermTemplate != null) { + requestOptions.addQueryParam("includeTermTemplate", String.valueOf(includeTermTemplate), false); + } + if (type != null) { + requestOptions.addQueryParam("type", type.toString(), false); + } + return getHeadersWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_TYPE_DEF_HEADER)); + } + + /** + * List all type definitions returned as a list of minimal information header. + * + * @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 the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getHeaders() { + // Generated convenience method for getHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getHeadersWithResponse(requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TYPE_REFERENCE_LIST_ATLAS_TYPE_DEF_HEADER)); + } + + /** + * Get the term template definition for the given GUID. + * + * @param guid The globally unique identifier of the term template. + * @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 the term template definition for the given GUID on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTermTemplateById(String guid) { + // Generated convenience method for getTermTemplateByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateByIdWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TermTemplateDef.class)); + } + + /** + * Get the term template definition by its name (unique). + * + * @param name The unique name of the term template. + * @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 the term template definition by its name (unique) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTermTemplateByName(String name) { + // Generated convenience method for getTermTemplateByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TermTemplateDef.class)); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_TYPE_DEF_HEADER + = new TypeReference>() { + }; +} 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 new file mode 100644 index 0000000000000..b631c8fbb9b88 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/TypeDefinitionClient.java @@ -0,0 +1,4253 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +import com.azure.analytics.purview.datamap.implementation.TypeDefinitionsImpl; +import com.azure.analytics.purview.datamap.models.AtlasBusinessMetadataDef; +import com.azure.analytics.purview.datamap.models.AtlasClassificationDef; +import com.azure.analytics.purview.datamap.models.AtlasEntityDef; +import com.azure.analytics.purview.datamap.models.AtlasEnumDef; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipDef; +import com.azure.analytics.purview.datamap.models.AtlasStructDef; +import com.azure.analytics.purview.datamap.models.AtlasTypeDef; +import com.azure.analytics.purview.datamap.models.AtlasTypeDefHeader; +import com.azure.analytics.purview.datamap.models.AtlasTypesDef; +import com.azure.analytics.purview.datamap.models.TermTemplateDef; +import com.azure.analytics.purview.datamap.models.TypeCategory; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.serializer.TypeReference; +import java.util.List; + +/** + * Initializes a new instance of the synchronous DataMapClient type. + */ +@ServiceClient(builder = DataMapClientBuilder.class) +public final class TypeDefinitionClient { + @Generated + private final TypeDefinitionsImpl serviceClient; + + /** + * Initializes an instance of TypeDefinitionClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + TypeDefinitionClient(TypeDefinitionsImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Get the businessMetadata definition for the given guid. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid businessMetadata guid. + * @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 businessMetadata definition for the given guid along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBusinessMetadataByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataByIdWithResponse(guid, requestOptions); + } + + /** + * Get the businessMetadata definition by it's name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name businessMetadata name. + * @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 businessMetadata definition by it's name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBusinessMetadataByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataByNameWithResponse(name, requestOptions); + } + + /** + * Get the classification definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the classification. + * @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 classification definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getClassificationByIdWithResponse(guid, requestOptions); + } + + /** + * Get the classification definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the classification. + * @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 classification definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getClassificationByNameWithResponse(name, requestOptions); + } + + /** + * Get the Entity definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 Entity definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEntityByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEntityByIdWithResponse(guid, requestOptions); + } + + /** + * Get the entity definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the entity. + * @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 entity definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEntityByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEntityByNameWithResponse(name, requestOptions); + } + + /** + * Get the enum definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the enum. + * @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 enum definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEnumByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEnumByIdWithResponse(guid, requestOptions); + } + + /** + * Get the enum definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the enum. + * @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 enum definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEnumByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEnumByNameWithResponse(name, requestOptions); + } + + /** + * Get the relationship definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 relationship definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelationshipByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipByIdWithResponse(guid, requestOptions); + } + + /** + * Get the relationship definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param name The name of the relationship. + * @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 relationship definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelationshipByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipByNameWithResponse(name, requestOptions); + } + + /** + * Get the struct definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the struct. + * @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 struct definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStructByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getStructByIdWithResponse(guid, requestOptions); + } + + /** + * Get the struct definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the struct. + * @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 struct definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStructByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getStructByNameWithResponse(name, requestOptions); + } + + /** + * Get the type definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the type. + * @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 type definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getByIdWithResponse(guid, requestOptions); + } + + /** + * Get the type definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type. + * @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 type definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getByNameWithResponse(name, requestOptions); + } + + /** + * Delete API for type identified by its name. + * + * @param name The name of the type. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponse(name, requestOptions); + } + + /** + * List all type definitions in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 definitions of types along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(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 + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchCreateWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + return this.serviceClient.batchCreateWithResponse(atlasTypesDef, requestOptions); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchUpdateWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + return this.serviceClient.batchUpdateWithResponse(atlasTypesDef, requestOptions); + } + + /** + * Delete API for all types in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchDeleteWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + return this.serviceClient.batchDeleteWithResponse(atlasTypesDef, requestOptions); + } + + /** + * List all type definitions returned as a list of minimal information header. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *         guid: String (Optional)
+     *         name: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getHeadersWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getHeadersWithResponse(requestOptions); + } + + /** + * Get the term template definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the term template. + * @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 term template definition for the given GUID along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermTemplateByIdWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateByIdWithResponse(guid, requestOptions); + } + + /** + * Get the term template definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The unique name of the term template. + * @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 term template definition by its name (unique) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermTemplateByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateByNameWithResponse(name, requestOptions); + } + + /** + * Get the businessMetadata definition for the given guid. + * + * @param guid businessMetadata guid. + * @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 the businessMetadata definition for the given guid. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasBusinessMetadataDef getBusinessMetadataById(String guid) { + // Generated convenience method for getBusinessMetadataByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataByIdWithResponse(guid, requestOptions).getValue() + .toObject(AtlasBusinessMetadataDef.class); + } + + /** + * Get the businessMetadata definition by it's name (unique). + * + * @param name businessMetadata name. + * @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 the businessMetadata definition by it's name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasBusinessMetadataDef getBusinessMetadataByName(String name) { + // Generated convenience method for getBusinessMetadataByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataByNameWithResponse(name, requestOptions).getValue() + .toObject(AtlasBusinessMetadataDef.class); + } + + /** + * Get the classification definition for the given GUID. + * + * @param guid The globally unique identifier of the classification. + * @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 the classification definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasClassificationDef getClassificationById(String guid) { + // Generated convenience method for getClassificationByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationByIdWithResponse(guid, requestOptions).getValue() + .toObject(AtlasClassificationDef.class); + } + + /** + * Get the classification definition by its name (unique). + * + * @param name The name of the classification. + * @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 the classification definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasClassificationDef getClassificationByName(String name) { + // Generated convenience method for getClassificationByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationByNameWithResponse(name, requestOptions).getValue() + .toObject(AtlasClassificationDef.class); + } + + /** + * Get the Entity definition for the given GUID. + * + * @param guid The globally unique identifier of the entity. + * @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 the Entity definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityDef getEntityById(String guid) { + // Generated convenience method for getEntityByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityByIdWithResponse(guid, requestOptions).getValue().toObject(AtlasEntityDef.class); + } + + /** + * Get the entity definition by its name (unique). + * + * @param name The name of the entity. + * @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 the entity definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEntityDef getEntityByName(String name) { + // Generated convenience method for getEntityByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityByNameWithResponse(name, requestOptions).getValue().toObject(AtlasEntityDef.class); + } + + /** + * Get the enum definition for the given GUID. + * + * @param guid The globally unique identifier of the enum. + * @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 the enum definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEnumDef getEnumById(String guid) { + // Generated convenience method for getEnumByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumByIdWithResponse(guid, requestOptions).getValue().toObject(AtlasEnumDef.class); + } + + /** + * Get the enum definition by its name (unique). + * + * @param name The name of the enum. + * @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 the enum definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasEnumDef getEnumByName(String name) { + // Generated convenience method for getEnumByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumByNameWithResponse(name, requestOptions).getValue().toObject(AtlasEnumDef.class); + } + + /** + * Get the relationship definition for the given GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 the relationship definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationshipDef getRelationshipById(String guid) { + // Generated convenience method for getRelationshipByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipByIdWithResponse(guid, requestOptions).getValue().toObject(AtlasRelationshipDef.class); + } + + /** + * Get the relationship definition by its name (unique). + * + * @param name The name of the relationship. + * @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 the relationship definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationshipDef getRelationshipByName(String name) { + // Generated convenience method for getRelationshipByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipByNameWithResponse(name, requestOptions).getValue().toObject(AtlasRelationshipDef.class); + } + + /** + * Get the struct definition for the given GUID. + * + * @param guid The globally unique identifier of the struct. + * @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 the struct definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasStructDef getStructById(String guid) { + // Generated convenience method for getStructByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructByIdWithResponse(guid, requestOptions).getValue().toObject(AtlasStructDef.class); + } + + /** + * Get the struct definition by its name (unique). + * + * @param name The name of the struct. + * @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 the struct definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasStructDef getStructByName(String name) { + // Generated convenience method for getStructByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructByNameWithResponse(name, requestOptions).getValue().toObject(AtlasStructDef.class); + } + + /** + * Get the type definition for the given GUID. + * + * @param guid The globally unique identifier of the type. + * @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 the type definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasTypeDef getById(String guid) { + // Generated convenience method for getByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByIdWithResponse(guid, requestOptions).getValue().toObject(AtlasTypeDef.class); + } + + /** + * Get the type definition by its name (unique). + * + * @param name The name of the type. + * @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 the type definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasTypeDef getByName(String name) { + // Generated convenience method for getByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByNameWithResponse(name, requestOptions).getValue().toObject(AtlasTypeDef.class); + } + + /** + * Delete API for type identified by its name. + * + * @param name The name of the type. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void delete(String name) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(name, requestOptions).getValue(); + } + + /** + * List all type definitions in bulk. + * + * @param includeTermTemplate Whether include termtemplatedef when return all typedefs. + * This is always true + * when search filter type=term_template. + * @param type Typedef name as search filter when get typedefs. + * @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 the definitions of types. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasTypesDef get(Boolean includeTermTemplate, TypeCategory type) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermTemplate != null) { + requestOptions.addQueryParam("includeTermTemplate", String.valueOf(includeTermTemplate), false); + } + if (type != null) { + requestOptions.addQueryParam("type", type.toString(), false); + } + return getWithResponse(requestOptions).getValue().toObject(AtlasTypesDef.class); + } + + /** + * List all type definitions in bulk. + * + * @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 the definitions of types. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasTypesDef get() { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(requestOptions).getValue().toObject(AtlasTypesDef.class); + } + + /** + * Create all atlas type definitions in bulk, only new definitions will be + * created. + * Any changes to the existing definitions will be discarded. + * + * @param atlasTypesDef The definitions of types. + * @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 the definitions of types. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasTypesDef batchCreate(AtlasTypesDef atlasTypesDef) { + // Generated convenience method for batchCreateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchCreateWithResponse(BinaryData.fromObject(atlasTypesDef), requestOptions).getValue() + .toObject(AtlasTypesDef.class); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + * + * @param atlasTypesDef The definitions of types. + * @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 the definitions of types. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasTypesDef batchUpdate(AtlasTypesDef atlasTypesDef) { + // Generated convenience method for batchUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return batchUpdateWithResponse(BinaryData.fromObject(atlasTypesDef), requestOptions).getValue() + .toObject(AtlasTypesDef.class); + } + + /** + * Delete API for all types in bulk. + * + * @param atlasTypesDef The definitions of types. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void batchDelete(AtlasTypesDef atlasTypesDef) { + // Generated convenience method for batchDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + batchDeleteWithResponse(BinaryData.fromObject(atlasTypesDef), requestOptions).getValue(); + } + + /** + * List all type definitions returned as a list of minimal information header. + * + * @param includeTermTemplate Whether include termtemplatedef when return all typedefs. + * This is always true + * when search filter type=term_template. + * @param type Typedef name as search filter when get typedefs. + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getHeaders(Boolean includeTermTemplate, TypeCategory type) { + // Generated convenience method for getHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (includeTermTemplate != null) { + requestOptions.addQueryParam("includeTermTemplate", String.valueOf(includeTermTemplate), false); + } + if (type != null) { + requestOptions.addQueryParam("type", type.toString(), false); + } + return getHeadersWithResponse(requestOptions).getValue().toObject(TYPE_REFERENCE_LIST_ATLAS_TYPE_DEF_HEADER); + } + + /** + * List all type definitions returned as a list of minimal information header. + * + * @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 the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public List getHeaders() { + // Generated convenience method for getHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getHeadersWithResponse(requestOptions).getValue().toObject(TYPE_REFERENCE_LIST_ATLAS_TYPE_DEF_HEADER); + } + + /** + * Get the term template definition for the given GUID. + * + * @param guid The globally unique identifier of the term template. + * @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 the term template definition for the given GUID. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TermTemplateDef getTermTemplateById(String guid) { + // Generated convenience method for getTermTemplateByIdWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateByIdWithResponse(guid, requestOptions).getValue().toObject(TermTemplateDef.class); + } + + /** + * Get the term template definition by its name (unique). + * + * @param name The unique name of the term template. + * @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 the term template definition by its name (unique). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TermTemplateDef getTermTemplateByName(String name) { + // Generated convenience method for getTermTemplateByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateByNameWithResponse(name, requestOptions).getValue().toObject(TermTemplateDef.class); + } + + @Generated + private static final TypeReference> TYPE_REFERENCE_LIST_ATLAS_TYPE_DEF_HEADER + = new TypeReference>() { + }; +} 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 new file mode 100644 index 0000000000000..df4aff136716f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DataMapClientImpl.java @@ -0,0 +1,201 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; + +/** + * Initializes a new instance of the DataMapClient type. + */ +public final class DataMapClientImpl { + /** + */ + private final String endpoint; + + /** + * Gets. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Service version. + */ + private final PurviewDataMapServiceVersion serviceVersion; + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return this.serviceVersion; + } + + /** + * The HTTP pipeline to send requests through. + */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** + * The serializer to serialize an object into a string. + */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + public SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** + * The EntitiesImpl object to access its operations. + */ + private final EntitiesImpl entities; + + /** + * Gets the EntitiesImpl object to access its operations. + * + * @return the EntitiesImpl object. + */ + public EntitiesImpl getEntities() { + return this.entities; + } + + /** + * The GlossariesImpl object to access its operations. + */ + private final GlossariesImpl glossaries; + + /** + * Gets the GlossariesImpl object to access its operations. + * + * @return the GlossariesImpl object. + */ + public GlossariesImpl getGlossaries() { + return this.glossaries; + } + + /** + * The DiscoveriesImpl object to access its operations. + */ + private final DiscoveriesImpl discoveries; + + /** + * Gets the DiscoveriesImpl object to access its operations. + * + * @return the DiscoveriesImpl object. + */ + public DiscoveriesImpl getDiscoveries() { + return this.discoveries; + } + + /** + * The LineagesImpl object to access its operations. + */ + private final LineagesImpl lineages; + + /** + * Gets the LineagesImpl object to access its operations. + * + * @return the LineagesImpl object. + */ + public LineagesImpl getLineages() { + return this.lineages; + } + + /** + * The RelationshipsImpl object to access its operations. + */ + private final RelationshipsImpl relationships; + + /** + * Gets the RelationshipsImpl object to access its operations. + * + * @return the RelationshipsImpl object. + */ + public RelationshipsImpl getRelationships() { + return this.relationships; + } + + /** + * The TypeDefinitionsImpl object to access its operations. + */ + private final TypeDefinitionsImpl typeDefinitions; + + /** + * Gets the TypeDefinitionsImpl object to access its operations. + * + * @return the TypeDefinitionsImpl object. + */ + public TypeDefinitionsImpl getTypeDefinitions() { + return this.typeDefinitions; + } + + /** + * Initializes an instance of DataMapClient client. + * + * @param endpoint + * @param serviceVersion Service version. + */ + public DataMapClientImpl(String endpoint, PurviewDataMapServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of DataMapClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint + * @param serviceVersion Service version. + */ + public DataMapClientImpl(HttpPipeline httpPipeline, String endpoint, PurviewDataMapServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of DataMapClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param endpoint + * @param serviceVersion Service version. + */ + public DataMapClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PurviewDataMapServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.entities = new EntitiesImpl(this); + this.glossaries = new GlossariesImpl(this); + this.discoveries = new DiscoveriesImpl(this); + this.lineages = new LineagesImpl(this); + this.relationships = new RelationshipsImpl(this); + this.typeDefinitions = new TypeDefinitionsImpl(this); + } +} 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 new file mode 100644 index 0000000000000..00ea54d57b826 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/DiscoveriesImpl.java @@ -0,0 +1,692 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in Discoveries. + */ +public final class DiscoveriesImpl { + /** + * The proxy service used to perform REST calls. + */ + private final DiscoveriesService service; + + /** + * The service client containing this operation class. + */ + private final DataMapClientImpl client; + + /** + * Initializes an instance of DiscoveriesImpl. + * + * @param client the instance of the service client containing this operation class. + */ + DiscoveriesImpl(DataMapClientImpl client) { + this.service + = RestProxy.create(DiscoveriesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return client.getServiceVersion(); + } + + /** + * 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") + public interface DiscoveriesService { + @Post("/search/query") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> query(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData queryOptions, RequestOptions requestOptions, Context context); + + @Post("/search/query") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response querySync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData queryOptions, RequestOptions requestOptions, Context context); + + @Post("/search/suggest") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> suggest(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData suggestOptions, RequestOptions requestOptions, Context context); + + @Post("/search/suggest") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response suggestSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData suggestOptions, RequestOptions requestOptions, Context context); + + @Post("/search/autocomplete") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> autoComplete(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData autoCompleteOptions, RequestOptions requestOptions, + Context context); + + @Post("/search/autocomplete") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response autoCompleteSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData autoCompleteOptions, RequestOptions requestOptions, + Context context); + } + + /** + * Get data using search. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     continuationToken: String (Optional)
+     *     orderby (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     filter: Object (Optional)
+     *     facets (Optional): [
+     *          (Optional){
+     *             count: Integer (Optional)
+     *             facet: String (Optional)
+     *             sort (Optional): {
+     *                 count: String(asc/desc) (Optional)
+     *                 value: String(asc/desc) (Optional)
+     *             }
+     *         }
+     *     ]
+     *     taxonomySetting (Optional): {
+     *         assetTypes (Optional): [
+     *             String (Optional)
+     *         ]
+     *         facet (Optional): (recursive schema, see facet above)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
+     *     continuationToken: String (Optional)
+     *     @search.facets (Optional): {
+     *         entityType (Optional): [
+     *              (Optional){
+     *                 count: Integer (Optional)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *         assetType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         classification (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         term (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactId (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         label (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         glossaryType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termStatus (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termTemplate (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.highlights (Optional): {
+     *                 id (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 qualifiedName (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 name (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 description (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 entityType (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param queryOptions The search query of advanced search 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 data using search along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> queryWithResponseAsync(BinaryData queryOptions, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.query(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, queryOptions, requestOptions, context)); + } + + /** + * Get data using search. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     continuationToken: String (Optional)
+     *     orderby (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     filter: Object (Optional)
+     *     facets (Optional): [
+     *          (Optional){
+     *             count: Integer (Optional)
+     *             facet: String (Optional)
+     *             sort (Optional): {
+     *                 count: String(asc/desc) (Optional)
+     *                 value: String(asc/desc) (Optional)
+     *             }
+     *         }
+     *     ]
+     *     taxonomySetting (Optional): {
+     *         assetTypes (Optional): [
+     *             String (Optional)
+     *         ]
+     *         facet (Optional): (recursive schema, see facet above)
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     @search.count: Integer (Optional)
+     *     @search.count.approximate: Boolean (Optional)
+     *     continuationToken: String (Optional)
+     *     @search.facets (Optional): {
+     *         entityType (Optional): [
+     *              (Optional){
+     *                 count: Integer (Optional)
+     *                 value: String (Optional)
+     *             }
+     *         ]
+     *         assetType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         classification (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         term (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactId (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         contactType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         label (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         glossaryType (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termStatus (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         termTemplate (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.highlights (Optional): {
+     *                 id (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 qualifiedName (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 name (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 description (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 entityType (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param queryOptions The search query of advanced search 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 data using search along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response queryWithResponse(BinaryData queryOptions, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.querySync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + queryOptions, requestOptions, Context.NONE); + } + + /** + * Get search suggestions by query criteria. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.text: String (Optional)
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param suggestOptions The payload of suggest 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 search suggestions by query criteria along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> suggestWithResponseAsync(BinaryData suggestOptions, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.suggest(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, suggestOptions, requestOptions, context)); + } + + /** + * Get search suggestions by query criteria. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             @search.score: Double (Optional)
+     *             @search.text: String (Optional)
+     *             objectType: String (Optional)
+     *             createTime: Long (Optional)
+     *             updateTime: Long (Optional)
+     *             id: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             entityType: String (Optional)
+     *             description: String (Optional)
+     *             endorsement: String (Optional)
+     *             owner: String (Optional)
+     *             classification (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             label (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             term (Optional): [
+     *                  (Optional){
+     *                     name: String (Optional)
+     *                     glossaryName: String (Optional)
+     *                     guid: String (Optional)
+     *                 }
+     *             ]
+     *             contact (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                     contactType: String (Optional)
+     *                 }
+     *             ]
+     *             assetType (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             glossaryType: String (Optional)
+     *             glossary: String (Optional)
+     *             termStatus: String (Optional)
+     *             termTemplate (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             longDescription: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param suggestOptions The payload of suggest 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 search suggestions by query criteria along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response suggestWithResponse(BinaryData suggestOptions, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.suggestSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + suggestOptions, requestOptions, Context.NONE); + } + + /** + * Get auto complete options. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             text: String (Optional)
+     *             queryPlusText: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param autoCompleteOptions The payload of autocomplete 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 auto complete options along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> autoCompleteWithResponseAsync(BinaryData autoCompleteOptions, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.autoComplete(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, autoCompleteOptions, requestOptions, context)); + } + + /** + * Get auto complete options. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     keywords: String (Optional)
+     *     limit: Integer (Optional)
+     *     filter: Object (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     value (Optional): [
+     *          (Optional){
+     *             text: String (Optional)
+     *             queryPlusText: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param autoCompleteOptions The payload of autocomplete 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 auto complete options along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response autoCompleteWithResponse(BinaryData autoCompleteOptions, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.autoCompleteSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + autoCompleteOptions, requestOptions, Context.NONE); + } +} 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 new file mode 100644 index 0000000000000..8b8d51174b54a --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/EntitiesImpl.java @@ -0,0 +1,6234 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in Entities. + */ +public final class EntitiesImpl { + /** + * The proxy service used to perform REST calls. + */ + private final EntitiesService service; + + /** + * The service client containing this operation class. + */ + private final DataMapClientImpl client; + + /** + * Initializes an instance of EntitiesImpl. + * + * @param client the instance of the service client containing this operation class. + */ + EntitiesImpl(DataMapClientImpl client) { + this.service = RestProxy.create(EntitiesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return client.getServiceVersion(); + } + + /** + * 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") + public interface EntitiesService { + @Post("/atlas/v2/entity") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createOrUpdate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createOrUpdateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/bulk") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getByIds(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "guid", multipleQueryParams = true) List guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/bulk") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getByIdsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "guid", multipleQueryParams = true) List guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/bulk") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchCreateOrUpdate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasEntitiesWithExtInfo, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/bulk") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchCreateOrUpdateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasEntitiesWithExtInfo, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/entity/bulk") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchDelete(@HostParam("endpoint") String endpoint, + @QueryParam(value = "guid", multipleQueryParams = true) List guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/bulk") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchDeleteSync(@HostParam("endpoint") String endpoint, + @QueryParam(value = "guid", multipleQueryParams = true) List guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/bulk/classification") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addClassification(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData classificationAssociateOptions, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/bulk/classification") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addClassificationSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData classificationAssociateOptions, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> get(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateAttributeById(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @QueryParam("name") String name, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateAttributeByIdSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @QueryParam("name") String name, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> delete(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/guid/{guid}/classification/{classificationName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getClassification(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @PathParam("classificationName") String classificationName, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/guid/{guid}/classification/{classificationName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getClassificationSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @PathParam("classificationName") String classificationName, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/classification/{classificationName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> removeClassification(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @PathParam("classificationName") String classificationName, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/classification/{classificationName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response removeClassificationSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @PathParam("classificationName") String classificationName, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/guid/{guid}/classifications") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getClassifications(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/guid/{guid}/classifications") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getClassificationsSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/guid/{guid}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addClassifications(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addClassificationsSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/guid/{guid}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateClassifications(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/guid/{guid}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateClassificationsSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/entity/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/entity/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/entity/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/entity/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classification/{classificationName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> removeClassificationByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @PathParam("classificationName") String classificationName, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classification/{classificationName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response removeClassificationByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @PathParam("classificationName") String classificationName, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addClassificationsByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addClassificationsByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateClassificationsUniqueByAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateClassificationsUniqueByAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/bulk/setClassifications") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchSetClassifications(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasEntityHeaders, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/bulk/setClassifications") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchSetClassificationsSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasEntityHeaders, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/bulk/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchGetByUniqueAttributes(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/bulk/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchGetByUniqueAttributesSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/guid/{guid}/header") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getHeader(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/guid/{guid}/header") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getHeaderSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/businessmetadata") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> removeBusinessMetadata(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/businessmetadata") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response removeBusinessMetadataSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/businessmetadata") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addOrUpdateBusinessMetadata(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/businessmetadata") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addOrUpdateBusinessMetadataSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/businessmetadata/{businessMetadataName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> removeBusinessMetadataAttributes(@HostParam("endpoint") String endpoint, + @PathParam("businessMetadataName") String businessMetadataName, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/businessmetadata/{businessMetadataName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response removeBusinessMetadataAttributesSync(@HostParam("endpoint") String endpoint, + @PathParam("businessMetadataName") String businessMetadataName, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/businessmetadata/{businessMetadataName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addOrUpdateBusinessMetadataAttributes(@HostParam("endpoint") String endpoint, + @PathParam("businessMetadataName") String businessMetadataName, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/businessmetadata/{businessMetadataName}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addOrUpdateBusinessMetadataAttributesSync(@HostParam("endpoint") String endpoint, + @PathParam("businessMetadataName") String businessMetadataName, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/businessmetadata/import/template") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getBusinessMetadataTemplate(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/businessmetadata/import/template") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getBusinessMetadataTemplateSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + // @Multipart not supported by RestProxy + @Post("/atlas/v2/entity/businessmetadata/import") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> importBusinessMetadata(@HostParam("endpoint") String endpoint, + @HeaderParam("content-type") String contentType, @HeaderParam("accept") String accept, + @BodyParam("multipart/form-data") BinaryData request, RequestOptions requestOptions, Context context); + + // @Multipart not supported by RestProxy + @Post("/atlas/v2/entity/businessmetadata/import") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response importBusinessMetadataSync(@HostParam("endpoint") String endpoint, + @HeaderParam("content-type") String contentType, @HeaderParam("accept") String accept, + @BodyParam("multipart/form-data") BinaryData request, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> removeLabels(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response removeLabelsSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> setLabels(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/guid/{guid}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response setLabelsSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/guid/{guid}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addLabel(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/entity/guid/{guid}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addLabelSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> removeLabelsByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response removeLabelsByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> setLabelsByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response setLabelsByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> addLabelsByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response addLabelsByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Post("/entity/moveTo") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> moveEntitiesToCollection(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @QueryParam("collectionId") String collectionId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData moveEntitiesOptions, + RequestOptions requestOptions, Context context); + + @Post("/entity/moveTo") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response moveEntitiesToCollectionSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @QueryParam("collectionId") String collectionId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData moveEntitiesOptions, + RequestOptions requestOptions, Context context); + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrUpdateWithResponseAsync(BinaryData atlasEntityWithExtInfo, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createOrUpdate(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, atlasEntityWithExtInfo, requestOptions, context)); + } + + /** + * Create or update an entity. + * Existing entity is matched using its unique guid if + * supplied or by its unique attributes eg: qualifiedName. + * Map and array of + * 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateWithResponse(BinaryData atlasEntityWithExtInfo, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + accept, atlasEntityWithExtInfo, requestOptions, Context.NONE); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to list. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByIdsWithResponseAsync(List guid, RequestOptions requestOptions) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return FluxUtil.withContext(context -> service.getByIds(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), guidConverted, accept, requestOptions, context)); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to list. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdsWithResponse(List guid, RequestOptions requestOptions) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return service.getByIdsSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + guidConverted, accept, requestOptions, Context.NONE); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchCreateOrUpdateWithResponseAsync(BinaryData atlasEntitiesWithExtInfo, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.batchCreateOrUpdate(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, atlasEntitiesWithExtInfo, requestOptions, context)); + } + + /** + * Create or update entities in bulk. + * Existing entity is matched using its unique + * guid if supplied or by its unique attributes eg: qualifiedName. + * Map and array + * of 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
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasEntitiesWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchCreateOrUpdateWithResponse(BinaryData atlasEntitiesWithExtInfo, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchCreateOrUpdateSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + accept, atlasEntitiesWithExtInfo, requestOptions, Context.NONE); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to delete. + * @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 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) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return FluxUtil.withContext( + context -> service.batchDelete(this.client.getEndpoint(), guidConverted, accept, requestOptions, context)); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid An array of GUIDs of entities to delete. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchDeleteWithResponse(List guid, RequestOptions requestOptions) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return service.batchDeleteSync(this.client.getEndpoint(), guidConverted, accept, requestOptions, Context.NONE); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param classificationAssociateOptions The request payload for classification association. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addClassificationWithResponseAsync(BinaryData classificationAssociateOptions, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addClassification(this.client.getEndpoint(), accept, + classificationAssociateOptions, requestOptions, context)); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param classificationAssociateOptions The request payload for classification association. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addClassificationWithResponse(BinaryData classificationAssociateOptions, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addClassificationSync(this.client.getEndpoint(), accept, classificationAssociateOptions, + requestOptions, Context.NONE); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 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) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.get(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 complete definition of an entity given its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Update entity partially - create or update entity attribute identified by its + * GUID. + * 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 + *

+ *
{@code
+     * Object
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param name The name of the attribute. + * @param body The value of the attribute. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateAttributeById(this.client.getEndpoint(), guid, name, + accept, body, requestOptions, context)); + } + + /** + * Update entity partially - create or update entity attribute identified by its + * GUID. + * 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 + *

+ *
{@code
+     * Object
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param name The name of the attribute. + * @param body The value of the attribute. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateAttributeByIdWithResponse(String guid, String name, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateAttributeByIdSync(this.client.getEndpoint(), guid, name, accept, body, requestOptions, + Context.NONE); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 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) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.delete(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get classification for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityGuid: String (Optional)
+     *     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *     removePropagationsOnEntityDelete: Boolean (Optional)
+     *     validityPeriods (Optional): [
+     *          (Optional){
+     *             endTime: String (Optional)
+     *             startTime: String (Optional)
+     *             timeZone: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getClassification(this.client.getEndpoint(), guid, + classificationName, accept, requestOptions, context)); + } + + /** + * Get classification for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityGuid: String (Optional)
+     *     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *     removePropagationsOnEntityDelete: Boolean (Optional)
+     *     validityPeriods (Optional): [
+     *          (Optional){
+     *             endTime: String (Optional)
+     *             startTime: String (Optional)
+     *             timeZone: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 classification for a given entity represented by a GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationWithResponse(String guid, String classificationName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassificationSync(this.client.getEndpoint(), guid, classificationName, accept, + requestOptions, Context.NONE); + } + + /** + * Delete a given classification from an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeClassificationWithResponseAsync(String guid, String classificationName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeClassification(this.client.getEndpoint(), guid, + classificationName, accept, requestOptions, context)); + } + + /** + * Delete a given classification from an existing entity represented by a GUID. + * + * @param guid The globally unique identifier of the entity. + * @param classificationName The name of the classification. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeClassificationWithResponse(String guid, String classificationName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeClassificationSync(this.client.getEndpoint(), guid, classificationName, accept, + requestOptions, Context.NONE); + } + + /** + * List classifications for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     list (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     pageSize: Integer (Optional)
+     *     sortBy: String (Optional)
+     *     sortType: String(NONE/ASC/DESC) (Optional)
+     *     startIndex: Integer (Optional)
+     *     totalCount: Integer (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 rEST serialization friendly list along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getClassificationsWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getClassifications(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * List classifications for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     list (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     pageSize: Integer (Optional)
+     *     sortBy: String (Optional)
+     *     sortType: String(NONE/ASC/DESC) (Optional)
+     *     startIndex: Integer (Optional)
+     *     totalCount: Integer (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 rEST serialization friendly list along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationsWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassificationsSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Add classifications to an existing entity represented by a GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be added. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addClassificationsWithResponseAsync(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addClassifications(this.client.getEndpoint(), guid, accept, body, + requestOptions, context)); + } + + /** + * Add classifications to an existing entity represented by a GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be added. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addClassificationsWithResponse(String guid, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addClassificationsSync(this.client.getEndpoint(), guid, accept, body, requestOptions, + Context.NONE); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be updated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateClassificationsWithResponseAsync(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateClassifications(this.client.getEndpoint(), guid, accept, + body, requestOptions, context)); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body An array of classifications to be updated. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateClassificationsWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateClassificationsSync(this.client.getEndpoint(), guid, accept, body, requestOptions, + Context.NONE); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByUniqueAttributeWithResponseAsync(String typeName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getByUniqueAttribute(this.client.getEndpoint(), typeName, accept, + requestOptions, context)); + } + + /** + * Get complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 complete definition of an entity given its type and unique attribute. + * + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following format: + * attr:\<attrName>=<attrValue>. + * + * NOTE: The + * attrName and attrValue should be unique across entities, eg. + * qualifiedName. + * + * The REST request would look something like this: + * GET + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, requestOptions, + Context.NONE); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateByUniqueAttributeWithResponseAsync(String typeName, + BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateByUniqueAttribute(this.client.getEndpoint(), typeName, + accept, atlasEntityWithExtInfo, requestOptions, context)); + } + + /** + * Update entity partially - Allow a subset of attributes to be updated on an + * entity which is identified by its type and unique attribute eg: + * Referenceable.qualifiedName. Null updates are not possible. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * + * attr:<attrName>=<attrValue>. + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: + * PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @param atlasEntityWithExtInfo An instance of an entity along with extended info - like hive_table, + * hive_database. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateByUniqueAttributeWithResponse(String typeName, BinaryData atlasEntityWithExtInfo, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, atlasEntityWithExtInfo, + requestOptions, Context.NONE); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique 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
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 + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteByUniqueAttributeWithResponseAsync(String typeName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteByUniqueAttribute(this.client.getEndpoint(), typeName, + accept, requestOptions, context)); + } + + /** + * Delete an entity identified by its type and unique attributes. + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: + * attr:\<attrName>=\<attrValue>. + * NOTE: The attrName and + * attrValue should be unique 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
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 + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, requestOptions, + Context.NONE); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeClassificationByUniqueAttributeWithResponseAsync(String typeName, + String classificationName, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeClassificationByUniqueAttribute(this.client.getEndpoint(), + typeName, classificationName, accept, requestOptions, context)); + } + + /** + * Delete a given classification from an entity identified by its type and unique + * attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + * + * @param typeName The name of the type. + * @param classificationName The name of the classification. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeClassificationByUniqueAttributeWithResponse(String typeName, String classificationName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeClassificationByUniqueAttributeSync(this.client.getEndpoint(), typeName, + classificationName, accept, requestOptions, Context.NONE); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addClassificationsByUniqueAttributeWithResponseAsync(String typeName, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addClassificationsByUniqueAttribute(this.client.getEndpoint(), + typeName, accept, body, requestOptions, context)); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be added. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addClassificationsByUniqueAttributeWithResponse(String typeName, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addClassificationsByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, body, + requestOptions, Context.NONE); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateClassificationsUniqueByAttributeWithResponseAsync(String typeName, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateClassificationsUniqueByAttribute(this.client.getEndpoint(), + typeName, accept, body, requestOptions, context)); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         entityGuid: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         removePropagationsOnEntityDelete: Boolean (Optional)
+     *         validityPeriods (Optional): [
+     *              (Optional){
+     *                 endTime: String (Optional)
+     *                 startTime: String (Optional)
+     *                 timeZone: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param body An array of classification to be updated. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateClassificationsUniqueByAttributeWithResponse(String typeName, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateClassificationsUniqueByAttributeSync(this.client.getEndpoint(), typeName, accept, body, + requestOptions, Context.NONE); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param atlasEntityHeaders An instance of an entity header map. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchSetClassificationsWithResponseAsync(BinaryData atlasEntityHeaders, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.batchSetClassifications(this.client.getEndpoint(), accept, + atlasEntityHeaders, requestOptions, context)); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param atlasEntityHeaders An instance of an entity header map. + * @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 response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchSetClassificationsWithResponse(BinaryData atlasEntityHeaders, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchSetClassificationsSync(this.client.getEndpoint(), accept, atlasEntityHeaders, + requestOptions, Context.NONE); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchGetByUniqueAttributesWithResponseAsync(String typeName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.batchGetByUniqueAttributes(this.client.getEndpoint(), typeName, + accept, requestOptions, context)); + } + + /** + * Bulk API to retrieve list of entities identified by its unique attributes. + * In + * addition to the typeName path parameter, attribute key-value pair(s) can be + * provided in the following + * format + * + * typeName=\<typeName>&attr_1:\<attrName>=\<attrValue>&attr_2:\<attrName>=\<attrValue>&attr_3:\<attrName>=\<attrValue> + * + * NOTE: + * The attrName should be an unique attribute for the given entity-type. + * The REST + * request would look something like this + * + * GET + * /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + * + * Note: + * at least one unique attribute must be provided. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             guid: String (Optional)
+     *             homeId: String (Optional)
+     *             collectionId: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             provenanceType: Integer (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param typeName The name of the type. + * @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 an instance of an entity along with extended info - like hive_table, + * hive_database along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchGetByUniqueAttributesWithResponse(String typeName, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchGetByUniqueAttributesSync(this.client.getEndpoint(), typeName, accept, requestOptions, + Context.NONE); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     displayText: String (Optional)
+     *     guid: String (Optional)
+     *     isIncomplete: Boolean (Optional)
+     *     labels (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meaningNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meanings (Optional): [
+     *          (Optional){
+     *             confidence: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(ACTIVE/DELETED) (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 entity header given its GUID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getHeaderWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getHeader(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     displayText: String (Optional)
+     *     guid: String (Optional)
+     *     isIncomplete: Boolean (Optional)
+     *     labels (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meaningNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     meanings (Optional): [
+     *          (Optional){
+     *             confidence: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(ACTIVE/DELETED) (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 entity header given its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getHeaderWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getHeaderSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Remove business metadata from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body Business metadata payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeBusinessMetadataWithResponseAsync(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeBusinessMetadata(this.client.getEndpoint(), guid, accept, + body, requestOptions, context)); + } + + /** + * Remove business metadata from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body Business metadata payload. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeBusinessMetadataWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeBusinessMetadataSync(this.client.getEndpoint(), guid, accept, body, requestOptions, + Context.NONE); + } + + /** + * Add business metadata to an entity. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addOrUpdateBusinessMetadataWithResponseAsync(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addOrUpdateBusinessMetadata(this.client.getEndpoint(), guid, + accept, body, requestOptions, context)); + } + + /** + * Add business metadata to an entity. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     String (Required): {
+     *         String: Object (Required)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body BusinessMetadata payload. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addOrUpdateBusinessMetadataWithResponse(String guid, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addOrUpdateBusinessMetadataSync(this.client.getEndpoint(), guid, accept, body, requestOptions, + Context.NONE); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeBusinessMetadataAttributesWithResponseAsync(String businessMetadataName, + String guid, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeBusinessMetadataAttributes(this.client.getEndpoint(), + businessMetadataName, guid, accept, body, requestOptions, context)); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeBusinessMetadataAttributesWithResponse(String businessMetadataName, String guid, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeBusinessMetadataAttributesSync(this.client.getEndpoint(), businessMetadataName, guid, + accept, body, requestOptions, Context.NONE); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addOrUpdateBusinessMetadataAttributesWithResponseAsync(String businessMetadataName, + String guid, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addOrUpdateBusinessMetadataAttributes(this.client.getEndpoint(), + businessMetadataName, guid, accept, body, requestOptions, context)); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param businessMetadataName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param body Business metadata attribute payload. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addOrUpdateBusinessMetadataAttributesWithResponse(String businessMetadataName, String guid, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addOrUpdateBusinessMetadataAttributesSync(this.client.getEndpoint(), businessMetadataName, guid, + accept, body, requestOptions, Context.NONE); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + *

+ * Response Body Schema + *

+ *
{@code
+     * BinaryData
+     * }
+ * + * @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 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) { + final String accept = "application/octet-stream, application/json"; + return FluxUtil.withContext( + context -> service.getBusinessMetadataTemplate(this.client.getEndpoint(), accept, requestOptions, context)); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + *

+ * Response Body Schema + *

+ *
{@code
+     * BinaryData
+     * }
+ * + * @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 sample Template for uploading/creating bulk BusinessMetaData along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBusinessMetadataTemplateWithResponse(RequestOptions requestOptions) { + final String accept = "application/octet-stream, application/json"; + return service.getBusinessMetadataTemplateSync(this.client.getEndpoint(), accept, requestOptions, Context.NONE); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     failedImportInfoList (Optional): [
+     *          (Optional){
+     *             childObjectName: String (Optional)
+     *             importStatus: String(SUCCESS/FAILED) (Optional)
+     *             parentObjectName: String (Optional)
+     *             remarks: String (Optional)
+     *         }
+     *     ]
+     *     successImportInfoList (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param request The request parameter. + * @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 bulk import result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> importBusinessMetadataWithResponseAsync(BinaryData request, + RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.importBusinessMetadata(this.client.getEndpoint(), contentType, + accept, request, requestOptions, context)); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     failedImportInfoList (Optional): [
+     *          (Optional){
+     *             childObjectName: String (Optional)
+     *             importStatus: String(SUCCESS/FAILED) (Optional)
+     *             parentObjectName: String (Optional)
+     *             remarks: String (Optional)
+     *         }
+     *     ]
+     *     successImportInfoList (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param request The request parameter. + * @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 bulk import result along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response importBusinessMetadataWithResponse(BinaryData request, RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return service.importBusinessMetadataSync(this.client.getEndpoint(), contentType, accept, request, + requestOptions, Context.NONE); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeLabelsWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext( + context -> service.removeLabels(this.client.getEndpoint(), guid, accept, requestOptionsLocal, context)); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeLabelsWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.removeLabelsSync(this.client.getEndpoint(), guid, accept, requestOptionsLocal, Context.NONE); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> setLabelsWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext( + context -> service.setLabels(this.client.getEndpoint(), guid, accept, requestOptionsLocal, context)); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response setLabelsWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.setLabelsSync(this.client.getEndpoint(), guid, accept, requestOptionsLocal, Context.NONE); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addLabelWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext( + context -> service.addLabel(this.client.getEndpoint(), guid, accept, requestOptionsLocal, context)); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addLabelWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.addLabelSync(this.client.getEndpoint(), guid, accept, requestOptionsLocal, Context.NONE); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * 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
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 + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> removeLabelsByUniqueAttributeWithResponseAsync(String typeName, + RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext(context -> service.removeLabelsByUniqueAttribute(this.client.getEndpoint(), + typeName, accept, requestOptionsLocal, context)); + } + + /** + * Delete given labels to a given entity identified by its type and unique + * attribute. + * + * If labels is null/empty, no labels will be removed. + * + * If any labels + * in labels set are non-existing labels, they will be ignored, only existing + * labels will be removed. In addition to the typeName path parameter, attribute + * key-value pair(s) can be provided in the following format: + * attr:<attrName>=<attrValue>. NOTE: The attrName and attrValue should be unique + * 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
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 + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response removeLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.removeLabelsByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, + requestOptionsLocal, Context.NONE); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> setLabelsByUniqueAttributeWithResponseAsync(String typeName, + RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext(context -> service.setLabelsByUniqueAttribute(this.client.getEndpoint(), typeName, + accept, requestOptionsLocal, context)); + } + + /** + * Set labels to a given entity identified by its type and unique attributes. + * + * If + * labels is null/empty, existing labels will all be removed. + * + * In addition to the + * typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: POST + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response setLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.setLabelsByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, requestOptionsLocal, + Context.NONE); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> addLabelsByUniqueAttributeWithResponseAsync(String typeName, + RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return FluxUtil.withContext(context -> service.addLabelsByUniqueAttribute(this.client.getEndpoint(), typeName, + accept, requestOptionsLocal, context)); + } + + /** + * Add given labels to a given entity identified by its type and unique + * attributes. + * + * If labels is null/empty, no labels will be added. + * + * In addition to + * the typeName path parameter, attribute key-value pair(s) can be provided in the + * following format: attr:<attrName>=<attrValue>. + * + * NOTE: The attrName and + * attrValue should be unique across entities, eg. qualifiedName. + * + * The REST + * request would look something like this: PUT + * /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Optional)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response addLabelsByUniqueAttributeWithResponse(String typeName, RequestOptions requestOptions) { + final String accept = "application/json"; + RequestOptions requestOptionsLocal = requestOptions == null ? new RequestOptions() : requestOptions; + requestOptionsLocal.addRequestCallback(requestLocal -> { + if (requestLocal.getBody() != null && requestLocal.getHeaders().get(HttpHeaderName.CONTENT_TYPE) == null) { + requestLocal.getHeaders().set(HttpHeaderName.CONTENT_TYPE, "application/json"); + } + }); + return service.addLabelsByUniqueAttributeSync(this.client.getEndpoint(), typeName, accept, requestOptionsLocal, + Context.NONE); + } + + /** + * Move existing entities to the target collection. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesOptions MoveEntitiesOptions. + * @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 mutation response result of entity along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> moveEntitiesToCollectionWithResponseAsync(String collectionId, + BinaryData moveEntitiesOptions, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.moveEntitiesToCollection(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), collectionId, accept, moveEntitiesOptions, requestOptions, + context)); + } + + /** + * Move existing entities to the target collection. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     entityGuids (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Required)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                         entityGuid: String (Optional)
+     *                         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                         removePropagationsOnEntityDelete: Boolean (Optional)
+     *                         validityPeriods (Optional): [
+     *                              (Optional){
+     *                                 endTime: String (Optional)
+     *                                 startTime: String (Optional)
+     *                                 timeZone: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 ]
+     *                 displayText: String (Optional)
+     *                 guid: String (Optional)
+     *                 isIncomplete: Boolean (Optional)
+     *                 labels (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meaningNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 meanings (Optional): [
+     *                      (Optional){
+     *                         confidence: Integer (Optional)
+     *                         createdBy: String (Optional)
+     *                         description: String (Optional)
+     *                         displayText: String (Optional)
+     *                         expression: String (Optional)
+     *                         relationGuid: String (Optional)
+     *                         status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                         steward: String (Optional)
+     *                         termGuid: String (Optional)
+     *                     }
+     *                 ]
+     *                 status: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *     }
+     *     partialUpdatedEntities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesOptions MoveEntitiesOptions. + * @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 mutation response result of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response moveEntitiesToCollectionWithResponse(String collectionId, + BinaryData moveEntitiesOptions, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.moveEntitiesToCollectionSync(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), collectionId, accept, moveEntitiesOptions, requestOptions, + Context.NONE); + } +} 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 new file mode 100644 index 0000000000000..3e521423eae72 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/GlossariesImpl.java @@ -0,0 +1,8311 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in Glossaries. + */ +public final class GlossariesImpl { + /** + * The proxy service used to perform REST calls. + */ + private final GlossariesService service; + + /** + * The service client containing this operation class. + */ + private final DataMapClientImpl client; + + /** + * Initializes an instance of GlossariesImpl. + * + * @param client the instance of the service client containing this operation class. + */ + GlossariesImpl(DataMapClientImpl client) { + this.service + = RestProxy.create(GlossariesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return client.getServiceVersion(); + } + + /** + * 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") + public interface GlossariesService { + @Get("/atlas/v2/glossary") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchGet(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchGetSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> create(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasGlossary, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createSync(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasGlossary, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/categories") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createCategories(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/categories") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createCategoriesSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/category") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createCategory(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossaryCategory, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/category") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createCategorySync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossaryCategory, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCategory(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCategorySync(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateCategory(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasGlossaryCategory, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/glossary/category/{categoryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateCategorySync(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasGlossaryCategory, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/glossary/category/{categoryId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteCategory(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/category/{categoryId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteCategorySync(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryId}/partial") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> partialUpdateCategory(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryId}/partial") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response partialUpdateCategorySync(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryId}/related") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getRelatedCategories(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryId}/related") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getRelatedCategoriesSync(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryId}/terms") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCategoryTerms(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryId}/terms") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCategoryTermsSync(@HostParam("endpoint") String endpoint, + @PathParam("categoryId") String categoryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/term") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createTerm(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossaryTerm, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/term") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createTermSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossaryTerm, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/term/{termId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTerm(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/term/{termId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTermSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> updateTerm(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossaryTerm, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateTermSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossaryTerm, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/term/{termId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteTerm(@HostParam("endpoint") String endpoint, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/term/{termId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteTermSync(@HostParam("endpoint") String endpoint, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termId}/partial") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> partialUpdateTerm(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termId}/partial") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response partialUpdateTermSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createTerms(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createTermsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termId}/assignedEntities") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getEntitiesAssignedWithTerm(@HostParam("endpoint") String endpoint, + @PathParam("termId") String termId, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/glossary/terms/{termId}/assignedEntities") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getEntitiesAssignedWithTermSync(@HostParam("endpoint") String endpoint, + @PathParam("termId") String termId, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/glossary/terms/{termId}/assignedEntities") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> assignTermToEntities(@HostParam("endpoint") String endpoint, + @PathParam("termId") String termId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms/{termId}/assignedEntities") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response assignTermToEntitiesSync(@HostParam("endpoint") String endpoint, + @PathParam("termId") String termId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/terms/{termId}/assignedEntities") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> deleteTermAssignmentFromEntities(@HostParam("endpoint") String endpoint, + @PathParam("termId") String termId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/terms/{termId}/assignedEntities") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteTermAssignmentFromEntitiesSync(@HostParam("endpoint") String endpoint, + @PathParam("termId") String termId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termId}/related") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getRelatedTerms(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termId}/related") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getRelatedTermsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termId") String termId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> get(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSync(@HostParam("endpoint") String endpoint, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> update(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossary, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryId}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasGlossary, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/{glossaryId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> delete(@HostParam("endpoint") String endpoint, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/{glossaryId}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/categories") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCategories(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/categories") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCategoriesSync(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/categories/headers") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getCategoriesHeaders(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/categories/headers") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getCategoriesHeadersSync(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/detailed") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getDetailed(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/detailed") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getDetailedSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryId}/partial") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> partialUpdate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryId}/partial") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response partialUpdateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/terms") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTerms(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/terms") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTermsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryId") String glossaryId, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/terms/headers") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTermHeaders(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryId}/terms/headers") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTermHeadersSync(@HostParam("endpoint") String endpoint, + @PathParam("glossaryId") String glossaryId, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         language: String (Optional)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         usage: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 all glossaries along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchGetWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.batchGet(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get all glossaries. Recommend using limit/offset to get pagination result. + * Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + * separately using + * + * 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + * and + * + * '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
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         language: String (Optional)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         usage: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 all glossaries along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchGetWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchGetSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createWithResponseAsync(BinaryData atlasGlossary, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.create(this.client.getEndpoint(), accept, atlasGlossary, requestOptions, context)); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse(BinaryData atlasGlossary, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createSync(this.client.getEndpoint(), accept, atlasGlossary, requestOptions, Context.NONE); + } + + /** + * Create glossary category in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary category definitions to be created. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategoriesWithResponseAsync(BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createCategories(this.client.getEndpoint(), accept, body, requestOptions, context)); + } + + /** + * Create glossary category in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary category definitions to be created. + * @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 response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCategoriesWithResponse(BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createCategoriesSync(this.client.getEndpoint(), accept, body, requestOptions, Context.NONE); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategoryWithResponseAsync(BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createCategory(this.client.getEndpoint(), accept, + atlasGlossaryCategory, requestOptions, context)); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCategoryWithResponse(BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createCategorySync(this.client.getEndpoint(), accept, atlasGlossaryCategory, requestOptions, + Context.NONE); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getCategory(this.client.getEndpoint(), categoryId, accept, requestOptions, context)); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 specific glossary category by its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoryWithResponse(String categoryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCategorySync(this.client.getEndpoint(), categoryId, accept, requestOptions, Context.NONE); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateCategoryWithResponseAsync(String categoryId, + BinaryData atlasGlossaryCategory, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateCategory(this.client.getEndpoint(), categoryId, accept, + atlasGlossaryCategory, requestOptions, context)); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param atlasGlossaryCategory The glossary category. + * @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 glossary category along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateCategoryWithResponse(String categoryId, BinaryData atlasGlossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateCategorySync(this.client.getEndpoint(), categoryId, accept, atlasGlossaryCategory, + requestOptions, Context.NONE); + } + + /** + * Delete a glossary category. + * + * @param categoryId The globally unique identifier of the category. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteCategoryWithResponseAsync(String categoryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.deleteCategory(this.client.getEndpoint(), categoryId, accept, requestOptions, context)); + } + + /** + * Delete a glossary category. + * + * @param categoryId The globally unique identifier of the category. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteCategoryWithResponse(String categoryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteCategorySync(this.client.getEndpoint(), categoryId, accept, requestOptions, Context.NONE); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values for partial update. + * @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 glossary category along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateCategoryWithResponseAsync(String categoryId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.partialUpdateCategory(this.client.getEndpoint(), categoryId, + accept, body, requestOptions, context)); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     childrenCategories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     parentCategory (Optional): (recursive schema, see parentCategory above)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values for partial update. + * @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 glossary category along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateCategoryWithResponse(String categoryId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateCategorySync(this.client.getEndpoint(), categoryId, accept, body, requestOptions, + Context.NONE); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getRelatedCategories(this.client.getEndpoint(), categoryId, + accept, requestOptions, context)); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 all related categories (parent and children) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelatedCategoriesWithResponse(String categoryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRelatedCategoriesSync(this.client.getEndpoint(), categoryId, accept, requestOptions, + Context.NONE); + } + + /** + * Get all terms associated with the specific category. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getCategoryTerms(this.client.getEndpoint(), categoryId, accept, + requestOptions, context)); + } + + /** + * Get all terms associated with the specific category. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param categoryId The globally unique identifier of the category. + * @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 all terms associated with the specific category along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoryTermsWithResponse(String categoryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCategoryTermsSync(this.client.getEndpoint(), categoryId, accept, requestOptions, + Context.NONE); + } + + /** + * Create a glossary term. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTermWithResponseAsync(BinaryData atlasGlossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createTerm(this.client.getEndpoint(), accept, atlasGlossaryTerm, + requestOptions, context)); + } + + /** + * Create a glossary term. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTermWithResponse(BinaryData atlasGlossaryTerm, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createTermSync(this.client.getEndpoint(), accept, atlasGlossaryTerm, requestOptions, + Context.NONE); + } + + /** + * Get a specific glossary term by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTerm(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), termId, accept, requestOptions, context)); + } + + /** + * Get a specific glossary term by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 a specific glossary term by its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermWithResponse(String termId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), termId, + accept, requestOptions, Context.NONE); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateTermWithResponseAsync(String termId, BinaryData atlasGlossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateTerm(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), termId, accept, atlasGlossaryTerm, requestOptions, context)); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param atlasGlossaryTerm The glossary term. + * @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 glossary term along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateTermWithResponse(String termId, BinaryData atlasGlossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateTermSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), termId, + accept, atlasGlossaryTerm, requestOptions, Context.NONE); + } + + /** + * Delete a glossary term. + * + * @param termId The globally unique identifier for glossary term. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteTermWithResponseAsync(String termId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.deleteTerm(this.client.getEndpoint(), termId, accept, requestOptions, context)); + } + + /** + * Delete a glossary term. + * + * @param termId The globally unique identifier for glossary term. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteTermWithResponse(String termId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteTermSync(this.client.getEndpoint(), termId, accept, requestOptions, Context.NONE); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @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 glossary term along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateTermWithResponseAsync(String termId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.partialUpdateTerm(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), termId, accept, body, requestOptions, context)); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     abbreviation: String (Optional)
+     *     templateName (Optional): [
+     *         Object (Optional)
+     *     ]
+     *     anchor (Optional): {
+     *         displayText: String (Optional)
+     *         glossaryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     *     antonyms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     status: String(Draft/Approved/Alert/Expired) (Optional)
+     *     nickName: String (Optional)
+     *     hierarchyInfo (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Required): [
+     *              (Required){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *             }
+     *             relationshipGuid: String (Optional)
+     *             relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     ]
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         }
+     *     ]
+     *     classifies (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     examples (Optional): [
+     *         String (Optional)
+     *     ]
+     *     isA (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     preferredToTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacedBy (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     replacementTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     seeAlso (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     synonyms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translatedTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     translationTerms (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     usage: String (Optional)
+     *     validValues (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     *     validValuesFor (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values to be updated. + * @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 glossary term along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateTermWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateTermSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + termId, accept, body, requestOptions, Context.NONE); + } + + /** + * Create glossary terms in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary term definitions to be created in bulk. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTermsWithResponseAsync(BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createTerms(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, body, requestOptions, context)); + } + + /** + * Create glossary terms in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
includeTermHierarchyBooleanNoWhether include term hierarchy
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param body An array of glossary term definitions to be created in bulk. + * @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 response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTermsWithResponse(BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createTermsSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + body, requestOptions, Context.NONE); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getEntitiesAssignedWithTermWithResponseAsync(String termId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getEntitiesAssignedWithTerm(this.client.getEndpoint(), termId, + accept, requestOptions, context)); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEntitiesAssignedWithTermWithResponse(String termId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEntitiesAssignedWithTermSync(this.client.getEndpoint(), termId, accept, requestOptions, + Context.NONE); + } + + /** + * Assign the given term to the provided list of related objects. Recommend using + * small batches with multiple API calls. + * + * [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 + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs to which the term has to be associated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> assignTermToEntitiesWithResponseAsync(String termId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.assignTermToEntities(this.client.getEndpoint(), termId, accept, + body, requestOptions, context)); + } + + /** + * Assign the given term to the provided list of related objects. Recommend using + * small batches with multiple API calls. + * + * [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 + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs to which the term has to be associated. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response assignTermToEntitiesWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.assignTermToEntitiesSync(this.client.getEndpoint(), termId, accept, body, requestOptions, + Context.NONE); + } + + /** + * Delete the term assignment for the given list of related objects. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs from which the term has to be dissociated. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteTermAssignmentFromEntitiesWithResponseAsync(String termId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteTermAssignmentFromEntities(this.client.getEndpoint(), + termId, accept, body, requestOptions, context)); + } + + /** + * Delete the term assignment for the given list of related objects. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @param body An array of related object IDs from which the term has to be dissociated. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteTermAssignmentFromEntitiesWithResponse(String termId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteTermAssignmentFromEntitiesSync(this.client.getEndpoint(), termId, accept, body, + requestOptions, Context.NONE); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getRelatedTerms(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), termId, accept, requestOptions, context)); + } + + /** + * 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
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 + *

+ *
{@code
+     * {
+     *     String (Required): [
+     *          (Required){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param termId The globally unique identifier for glossary term. + * @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 all related terms for a specific term by its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelatedTermsWithResponse(String termId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRelatedTermsSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + termId, accept, requestOptions, Context.NONE); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific Glossary by its GUID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponseAsync(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.get(this.client.getEndpoint(), glossaryId, accept, requestOptions, context)); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific Glossary by its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.client.getEndpoint(), glossaryId, accept, requestOptions, Context.NONE); + } + + /** + * Update the given glossary. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateWithResponseAsync(String glossaryId, BinaryData atlasGlossary, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.update(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), glossaryId, accept, atlasGlossary, requestOptions, context)); + } + + /** + * Update the given glossary. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param atlasGlossary The glossary object. + * @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 glossary object along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(String glossaryId, BinaryData atlasGlossary, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), glossaryId, + accept, atlasGlossary, requestOptions, Context.NONE); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponseAsync(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.delete(this.client.getEndpoint(), glossaryId, accept, requestOptions, context)); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryId The globally unique identifier for glossary. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteSync(this.client.getEndpoint(), glossaryId, accept, requestOptions, Context.NONE); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getCategories(this.client.getEndpoint(), glossaryId, accept, requestOptions, context)); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         childrenCategories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 parentCategoryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *         ]
+     *         parentCategory (Optional): (recursive schema, see parentCategory above)
+     *         terms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 categories belonging to a specific glossary along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoriesWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCategoriesSync(this.client.getEndpoint(), glossaryId, accept, requestOptions, Context.NONE); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         categoryGuid: String (Optional)
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         parentCategoryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getCategoriesHeaders(this.client.getEndpoint(), glossaryId, + accept, requestOptions, context)); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         categoryGuid: String (Optional)
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         parentCategoryGuid: String (Optional)
+     *         relationGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 category headers belonging to a specific glossary along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCategoriesHeadersWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCategoriesHeadersSync(this.client.getEndpoint(), glossaryId, accept, requestOptions, + Context.NONE); + } + + /** + * Get a specific glossary with detailed information. This API is not + * recommend. + * + * Recommend to fetch terms/categories details separately using + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     *     categoryInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             anchor (Optional): {
+     *                 displayText: String (Optional)
+     *                 glossaryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *             childrenCategories (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             parentCategory (Optional): (recursive schema, see parentCategory above)
+     *             terms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     *     termInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             abbreviation: String (Optional)
+     *             templateName (Optional): [
+     *                 Object (Optional)
+     *             ]
+     *             anchor (Optional): (recursive schema, see anchor above)
+     *             antonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             status: String(Draft/Approved/Alert/Expired) (Optional)
+     *             nickName: String (Optional)
+     *             hierarchyInfo (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Required): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                     }
+     *                     relationshipGuid: String (Optional)
+     *                     relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *                 }
+     *             ]
+     *             categories (Optional): [
+     *                  (Optional){
+     *                     categoryGuid: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 }
+     *             ]
+     *             classifies (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             examples (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             isA (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredToTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacedBy (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacementTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             seeAlso (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             synonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translatedTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translationTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             usage: String (Optional)
+     *             validValues (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             validValuesFor (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getDetailed(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), glossaryId, accept, requestOptions, context)); + } + + /** + * Get a specific glossary with detailed information. This API is not + * recommend. + * + * Recommend to fetch terms/categories details separately using + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + * + * GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     *     categoryInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             anchor (Optional): {
+     *                 displayText: String (Optional)
+     *                 glossaryGuid: String (Optional)
+     *                 relationGuid: String (Optional)
+     *             }
+     *             childrenCategories (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             parentCategory (Optional): (recursive schema, see parentCategory above)
+     *             terms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     *     termInfo (Optional): {
+     *         String (Required): {
+     *             guid: String (Optional)
+     *             classifications (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             longDescription: String (Optional)
+     *             name: String (Optional)
+     *             qualifiedName: String (Optional)
+     *             shortDescription: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             abbreviation: String (Optional)
+     *             templateName (Optional): [
+     *                 Object (Optional)
+     *             ]
+     *             anchor (Optional): (recursive schema, see anchor above)
+     *             antonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             status: String(Draft/Approved/Alert/Expired) (Optional)
+     *             nickName: String (Optional)
+     *             hierarchyInfo (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Required): [
+     *                      (Required){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Required): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Required)
+     *                         }
+     *                         typeName: String (Optional)
+     *                         lastModifiedTS: String (Optional)
+     *                     }
+     *                     relationshipGuid: String (Optional)
+     *                     relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *                 }
+     *             ]
+     *             categories (Optional): [
+     *                  (Optional){
+     *                     categoryGuid: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 }
+     *             ]
+     *             classifies (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             examples (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             isA (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             preferredToTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacedBy (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             replacementTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             seeAlso (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             synonyms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translatedTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             translationTerms (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             usage: String (Optional)
+     *             validValues (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             validValuesFor (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     }
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 a specific glossary with detailed information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getDetailedWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getDetailedSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + glossaryId, accept, requestOptions, Context.NONE); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @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 glossary object along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateWithResponseAsync(String glossaryId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.partialUpdate(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), glossaryId, accept, body, requestOptions, context)); + } + + /** + * Update the glossary partially. Some properties such as qualifiedName are not + * allowed to be updated. + * + * So far we only supports partial updating + * shortDescription, longDescription, language and usage for glossary. + * + * Recommend + * using 'ignoreTermsAndCategories=true' to reduce response body size. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
ignoreTermsAndCategoriesBooleanNoWhether ignore terms and categories
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: String (Required)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             entityGuid: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             removePropagationsOnEntityDelete: Boolean (Optional)
+     *             validityPeriods (Optional): [
+     *                  (Optional){
+     *                     endTime: String (Optional)
+     *                     startTime: String (Optional)
+     *                     timeZone: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     longDescription: String (Optional)
+     *     name: String (Optional)
+     *     qualifiedName: String (Optional)
+     *     shortDescription: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     categories (Optional): [
+     *          (Optional){
+     *             categoryGuid: String (Optional)
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             parentCategoryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *     ]
+     *     language: String (Optional)
+     *     terms (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             displayText: String (Optional)
+     *             expression: String (Optional)
+     *             relationGuid: String (Optional)
+     *             status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             steward: String (Optional)
+     *             termGuid: String (Optional)
+     *         }
+     *     ]
+     *     usage: String (Optional)
+     * }
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @param body A map containing keys as attribute names and values as corresponding attribute + * values. + * @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 glossary object along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateWithResponse(String glossaryId, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + glossaryId, accept, body, requestOptions, Context.NONE); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTerms(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), glossaryId, accept, requestOptions, context)); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 entityGuid: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 removePropagationsOnEntityDelete: Boolean (Optional)
+     *                 validityPeriods (Optional): [
+     *                      (Optional){
+     *                         endTime: String (Optional)
+     *                         startTime: String (Optional)
+     *                         timeZone: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         ]
+     *         longDescription: String (Optional)
+     *         name: String (Optional)
+     *         qualifiedName: String (Optional)
+     *         shortDescription: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         abbreviation: String (Optional)
+     *         templateName (Optional): [
+     *             Object (Optional)
+     *         ]
+     *         anchor (Optional): {
+     *             displayText: String (Optional)
+     *             glossaryGuid: String (Optional)
+     *             relationGuid: String (Optional)
+     *         }
+     *         antonyms (Optional): [
+     *              (Optional){
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 expression: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                 steward: String (Optional)
+     *                 termGuid: String (Optional)
+     *             }
+     *         ]
+     *         status: String(Draft/Approved/Alert/Expired) (Optional)
+     *         nickName: String (Optional)
+     *         hierarchyInfo (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Required): [
+     *                  (Required){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Required): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Required)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                 }
+     *                 relationshipGuid: String (Optional)
+     *                 relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *             }
+     *         ]
+     *         categories (Optional): [
+     *              (Optional){
+     *                 categoryGuid: String (Optional)
+     *                 description: String (Optional)
+     *                 displayText: String (Optional)
+     *                 relationGuid: String (Optional)
+     *                 status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *             }
+     *         ]
+     *         classifies (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         examples (Optional): [
+     *             String (Optional)
+     *         ]
+     *         isA (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         preferredToTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacedBy (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         replacementTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         seeAlso (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         synonyms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translatedTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         translationTerms (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         usage: String (Optional)
+     *         validValues (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         validValuesFor (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 terms belonging to a specific glossary along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermsWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermsSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), glossaryId, + accept, requestOptions, Context.NONE); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getTermHeaders(this.client.getEndpoint(), glossaryId, accept, requestOptions, context)); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + *

+ * 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.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         description: String (Optional)
+     *         displayText: String (Optional)
+     *         expression: String (Optional)
+     *         relationGuid: String (Optional)
+     *         status: String(DRAFT/ACTIVE/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *         steward: String (Optional)
+     *         termGuid: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param glossaryId The globally unique identifier for glossary. + * @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 term headers belonging to a specific glossary along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermHeadersWithResponse(String glossaryId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermHeadersSync(this.client.getEndpoint(), glossaryId, accept, requestOptions, Context.NONE); + } +} 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 new file mode 100644 index 0000000000000..09e26a26702a7 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/LineagesImpl.java @@ -0,0 +1,937 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in Lineages. + */ +public final class LineagesImpl { + /** + * The proxy service used to perform REST calls. + */ + private final LineagesService service; + + /** + * The service client containing this operation class. + */ + private final DataMapClientImpl client; + + /** + * Initializes an instance of LineagesImpl. + * + * @param client the instance of the service client containing this operation class. + */ + LineagesImpl(DataMapClientImpl client) { + this.service = RestProxy.create(LineagesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return client.getServiceVersion(); + } + + /** + * 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") + public interface LineagesService { + @Get("/atlas/v2/lineage/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> get(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @QueryParam("direction") String direction, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/lineage/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @QueryParam("direction") String direction, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/lineage/{guid}/next") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getNextPage(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("direction") String direction, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/lineage/{guid}/next") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getNextPageSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("direction") String direction, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/lineage/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getByUniqueAttribute(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @QueryParam("direction") String direction, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/lineage/uniqueAttribute/type/{typeName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @PathParam("typeName") String typeName, @QueryParam("direction") String direction, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponseAsync(String guid, String direction, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.get(this.client.getEndpoint(), guid, direction, accept, requestOptions, context)); + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
depthIntegerNoThe number of hops for lineage.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String guid, String direction, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.client.getEndpoint(), guid, direction, accept, requestOptions, Context.NONE); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getNextPageWithResponseAsync(String guid, String direction, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getNextPage(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), guid, direction, accept, requestOptions, context)); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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 + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getNextPageWithResponse(String guid, String direction, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getNextPageSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), guid, + direction, accept, requestOptions, Context.NONE); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getByUniqueAttributeWithResponseAsync(String typeName, String direction, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getByUniqueAttribute(this.client.getEndpoint(), typeName, + direction, accept, requestOptions, context)); + } + + /** + * Return lineage info about entity. + * + * In addition to the typeName path parameter, + * attribute key-value pair(s) can be provided in the following + * format + * + * attr:[attrName]=[attrValue] + * + * NOTE: The attrName and attrValue should be + * unique across entities, eg. qualifiedName. + * + * The REST request would look + * something like this: + * + * GET + * /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + *

+ * 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)
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     widthCounts (Optional): {
+     *         String (Required): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     lineageDepth: Integer (Optional)
+     *     lineageWidth: Integer (Optional)
+     *     childrenCount: Integer (Optional)
+     *     lineageDirection: String(INPUT/OUTPUT/BOTH) (Optional)
+     *     parentRelations (Optional): [
+     *          (Optional){
+     *             childEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             parentEntityId: String (Optional)
+     *         }
+     *     ]
+     *     relations (Optional): [
+     *          (Optional){
+     *             fromEntityId: String (Optional)
+     *             relationshipId: String (Optional)
+     *             toEntityId: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 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 lineage information along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByUniqueAttributeWithResponse(String typeName, String direction, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByUniqueAttributeSync(this.client.getEndpoint(), typeName, direction, accept, requestOptions, + Context.NONE); + } +} 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 new file mode 100644 index 0000000000000..01a1e88b9b6fd --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/MultipartFormDataHelper.java @@ -0,0 +1,216 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.core.http.HttpHeaderName; +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; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.text.Normalizer; +import java.util.List; +import java.util.UUID; +import java.util.regex.Pattern; + +// DO NOT modify this helper class + +public final class MultipartFormDataHelper { + /** + * Line separator for the multipart HTTP request. + */ + private static final String CRLF = "\r\n"; + + private static final String APPLICATION_OCTET_STREAM = "application/octet-stream"; + + /** + * Value to be used as part of the divider for the multipart requests. + */ + private final String boundary; + + /** + * The actual part separator in the request. This is obtained by prepending "--" to the "boundary". + */ + private final String partSeparator; + + /** + * The marker for the ending of a multipart request. This is obtained by post-pending "--" to the "partSeparator". + */ + private final String endMarker; + + /** + * Charset used for encoding the multipart HTTP request. + */ + private final Charset encoderCharset = StandardCharsets.UTF_8; + + private InputStream requestDataStream = new ByteArrayInputStream(new byte[0]); + private long requestLength = 0; + + private RequestOptions requestOptions; + private BinaryData requestBody; + + /** + * Default constructor used in the code. The boundary is a random value. + * + * @param requestOptions the RequestOptions to update + */ + public MultipartFormDataHelper(RequestOptions requestOptions) { + this(requestOptions, UUID.randomUUID().toString().substring(0, 16)); + } + + private MultipartFormDataHelper(RequestOptions requestOptions, String boundary) { + this.requestOptions = requestOptions; + this.boundary = boundary; + this.partSeparator = "--" + boundary; + this.endMarker = this.partSeparator + "--"; + } + + /** + * Gets the multipart HTTP request body. + * + * @return the BinaryData of the multipart HTTP request body + */ + public BinaryData getRequestBody() { + return requestBody; + } + + // text/plain + /** + * Formats a text/plain field for a multipart HTTP request. + * + * @param fieldName the field name + * @param value the value of the text/plain field + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeTextField(String fieldName, String value) { + if (value != null) { + String serialized = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + fieldName + "\"" + + CRLF + CRLF + value + CRLF; + byte[] data = serialized.getBytes(encoderCharset); + appendBytes(data); + } + return this; + } + + // application/json + /** + * Formats a application/json field for a multipart HTTP request. + * + * @param fieldName the field name + * @param jsonObject the object of the application/json field + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeJsonField(String fieldName, Object jsonObject) { + if (jsonObject != null) { + String serialized = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + fieldName + "\"" + + CRLF + "Content-Type: application/json" + CRLF + CRLF + BinaryData.fromObject(jsonObject) + CRLF; + byte[] data = serialized.getBytes(encoderCharset); + appendBytes(data); + } + return this; + } + + /** + * Formats a file field for a multipart HTTP request. + * + * @param fieldName the field name + * @param file the BinaryData of the file + * @param contentType the content-type of the file + * @param filename the filename + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeFileField(String fieldName, BinaryData file, String contentType, + String filename) { + if (file != null) { + if (CoreUtils.isNullOrEmpty(contentType)) { + contentType = APPLICATION_OCTET_STREAM; + } + if (CoreUtils.isNullOrEmpty(filename)) { + filename = fieldName; + } + filename = normalizeAscii(filename); + + writeFileField(fieldName, file, contentType, filename); + } + return this; + } + + /** + * Formats a file field (potentially multiple files) for a multipart HTTP request. + * + * @param fieldName the field name + * @param files the List of BinaryData of the files + * @param contentTypes the List of content-type of the files + * @param filenames the List of filenames + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeFileFields(String fieldName, List files, + List contentTypes, List filenames) { + if (files != null) { + for (int i = 0; i < files.size(); ++i) { + BinaryData file = files.get(i); + String contentType = contentTypes.get(i); + if (CoreUtils.isNullOrEmpty(contentType)) { + contentType = APPLICATION_OCTET_STREAM; + } + String filename = filenames.get(i); + if (CoreUtils.isNullOrEmpty(filename)) { + filename = fieldName + String.valueOf(i + 1); + } + filename = normalizeAscii(filename); + + writeFileField(fieldName, file, contentType, filename); + } + } + return this; + } + + /** + * Ends the serialization of the multipart HTTP request. + * + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper end() { + byte[] data = endMarker.getBytes(encoderCharset); + appendBytes(data); + + requestBody = BinaryData.fromStream(requestDataStream, requestLength); + + requestOptions.setHeader(HttpHeaderName.CONTENT_TYPE, "multipart/form-data; boundary=" + this.boundary) + .setHeader(HttpHeaderName.CONTENT_LENGTH, String.valueOf(requestLength)); + + return this; + } + + private void writeFileField(String fieldName, BinaryData file, String contentType, String filename) { + // Multipart preamble + String fileFieldPreamble = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + fieldName + + "\"; filename=\"" + filename + "\"" + CRLF + "Content-Type: " + contentType + CRLF + CRLF; + byte[] data = fileFieldPreamble.getBytes(encoderCharset); + appendBytes(data); + + // Writing the file into the request as a byte stream + requestLength += file.getLength(); + requestDataStream = new SequenceInputStream(requestDataStream, file.toStream()); + + // CRLF + data = CRLF.getBytes(encoderCharset); + appendBytes(data); + } + + private void appendBytes(byte[] bytes) { + requestLength += bytes.length; + requestDataStream = new SequenceInputStream(requestDataStream, new ByteArrayInputStream(bytes)); + } + + private static final Pattern REDACT_FILENAME = Pattern.compile("[^\\x20-\\x7E]|\""); + + private static String normalizeAscii(String text) { + return REDACT_FILENAME.matcher(Normalizer.normalize(text, Normalizer.Form.NFD)).replaceAll(""); + } +} 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 new file mode 100644 index 0000000000000..cda6259b10301 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/RelationshipsImpl.java @@ -0,0 +1,744 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in Relationships. + */ +public final class RelationshipsImpl { + /** + * The proxy service used to perform REST calls. + */ + private final RelationshipsService service; + + /** + * The service client containing this operation class. + */ + private final DataMapClientImpl client; + + /** + * Initializes an instance of RelationshipsImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RelationshipsImpl(DataMapClientImpl client) { + this.service + = RestProxy.create(RelationshipsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return client.getServiceVersion(); + } + + /** + * 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") + public interface RelationshipsService { + @Post("/atlas/v2/relationship") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> create(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasRelationship, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/relationship") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createSync(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasRelationship, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/relationship") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> update(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasRelationship, RequestOptions requestOptions, + Context context); + + @Put("/atlas/v2/relationship") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response updateSync(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasRelationship, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/relationship/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> get(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/relationship/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/relationship/guid/{guid}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> delete(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/relationship/guid/{guid}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createWithResponseAsync(BinaryData atlasRelationship, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.create(this.client.getEndpoint(), accept, atlasRelationship, requestOptions, context)); + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse(BinaryData atlasRelationship, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createSync(this.client.getEndpoint(), accept, atlasRelationship, requestOptions, Context.NONE); + } + + /** + * Update an existing relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateWithResponseAsync(BinaryData atlasRelationship, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.update(this.client.getEndpoint(), accept, atlasRelationship, requestOptions, context)); + } + + /** + * Update an existing relationship between entities. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Required)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     end1 (Optional): {
+     *         guid: String (Optional)
+     *         typeName: String (Optional)
+     *         uniqueAttributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *     }
+     *     end2 (Optional): (recursive schema, see end2 above)
+     *     guid: String (Optional)
+     *     homeId: String (Optional)
+     *     label: String (Optional)
+     *     provenanceType: Integer (Optional)
+     *     status: String(ACTIVE/DELETED) (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     * }
+     * }
+ * + * @param atlasRelationship Atlas relationship instance. + * @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 atlas relationship instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(BinaryData atlasRelationship, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateSync(this.client.getEndpoint(), accept, atlasRelationship, requestOptions, Context.NONE); + } + + /** + * Get relationship information between entities by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     relationship (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Integer (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Long (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 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) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.get(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get relationship information between entities by its GUID. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
extendedInfoBooleanNoLimits whether includes extended information.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Required): {
+     *             attributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     lastModifiedTS: String (Optional)
+     *                     entityGuid: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     removePropagationsOnEntityDelete: Boolean (Optional)
+     *                     validityPeriods (Optional): [
+     *                          (Optional){
+     *                             endTime: String (Optional)
+     *                             startTime: String (Optional)
+     *                             timeZone: String (Optional)
+     *                         }
+     *                     ]
+     *                 }
+     *             ]
+     *             displayText: String (Optional)
+     *             guid: String (Optional)
+     *             isIncomplete: Boolean (Optional)
+     *             labels (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meaningNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             meanings (Optional): [
+     *                  (Optional){
+     *                     confidence: Integer (Optional)
+     *                     createdBy: String (Optional)
+     *                     description: String (Optional)
+     *                     displayText: String (Optional)
+     *                     expression: String (Optional)
+     *                     relationGuid: String (Optional)
+     *                     status: String(DISCOVERED/PROPOSED/IMPORTED/VALIDATED/DEPRECATED/OBSOLETE/OTHER) (Optional)
+     *                     steward: String (Optional)
+     *                     termGuid: String (Optional)
+     *                 }
+     *             ]
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *         }
+     *     }
+     *     relationship (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Required)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Long (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Required)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Integer (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Long (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Long (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 relationship information between entities by its GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Delete a relationship between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.delete(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Delete a relationship between entities by its GUID. + * + * @param guid The globally unique identifier of the relationship. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } +} 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 new file mode 100644 index 0000000000000..136c6bce594c4 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/TypeDefinitionsImpl.java @@ -0,0 +1,7945 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation; + +import com.azure.analytics.purview.datamap.PurviewDataMapServiceVersion; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.exception.ClientAuthenticationException; +import com.azure.core.exception.HttpResponseException; +import com.azure.core.exception.ResourceModifiedException; +import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.BinaryData; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in TypeDefinitions. + */ +public final class TypeDefinitionsImpl { + /** + * The proxy service used to perform REST calls. + */ + private final TypeDefinitionsService service; + + /** + * The service client containing this operation class. + */ + private final DataMapClientImpl client; + + /** + * Initializes an instance of TypeDefinitionsImpl. + * + * @param client the instance of the service client containing this operation class. + */ + TypeDefinitionsImpl(DataMapClientImpl client) { + this.service + = RestProxy.create(TypeDefinitionsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * Gets Service version. + * + * @return the serviceVersion value. + */ + public PurviewDataMapServiceVersion getServiceVersion() { + return client.getServiceVersion(); + } + + /** + * 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") + public interface TypeDefinitionsService { + @Get("/atlas/v2/types/businessmetadatadef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getBusinessMetadataById(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/businessmetadatadef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getBusinessMetadataByIdSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/businessmetadatadef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getBusinessMetadataByName(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/businessmetadatadef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getBusinessMetadataByNameSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/classificationdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getClassificationById(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/classificationdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getClassificationByIdSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/classificationdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getClassificationByName(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/classificationdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getClassificationByNameSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/entitydef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getEntityById(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/entitydef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getEntityByIdSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/entitydef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getEntityByName(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/entitydef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getEntityByNameSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/enumdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getEnumById(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/enumdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getEnumByIdSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/enumdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getEnumByName(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/enumdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getEnumByNameSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/relationshipdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getRelationshipById(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/relationshipdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getRelationshipByIdSync(@HostParam("endpoint") String endpoint, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/relationshipdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getRelationshipByName(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/relationshipdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getRelationshipByNameSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/structdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getStructById(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/structdef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getStructByIdSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/structdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getStructByName(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("accept") String accept, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/types/structdef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getStructByNameSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getById(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getByIdSync(@HostParam("endpoint") String endpoint, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getByName(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getByNameSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/types/typedef/name/{name}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> delete(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/types/typedef/name/{name}") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response deleteSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedefs") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> get(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedefs") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/types/typedefs") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchCreate(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasTypesDef, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/types/typedefs") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchCreateSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasTypesDef, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/types/typedefs") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchUpdate(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasTypesDef, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/types/typedefs") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchUpdateSync(@HostParam("endpoint") String endpoint, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData atlasTypesDef, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/types/typedefs") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> batchDelete(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasTypesDef, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/types/typedefs") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response batchDeleteSync(@HostParam("endpoint") String endpoint, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasTypesDef, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedefs/headers") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getHeaders(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedefs/headers") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getHeadersSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/types/termtemplatedef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTermTemplateById(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/types/termtemplatedef/guid/{guid}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTermTemplateByIdSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/types/termtemplatedef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getTermTemplateByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/types/termtemplatedef/name/{name}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getTermTemplateByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("name") String name, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + } + + /** + * Get the businessMetadata definition for the given guid. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid businessMetadata guid. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getBusinessMetadataById(this.client.getEndpoint(), guid, accept, + requestOptions, context)); + } + + /** + * Get the businessMetadata definition for the given guid. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid businessMetadata guid. + * @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 businessMetadata definition for the given guid along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBusinessMetadataByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getBusinessMetadataByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, + Context.NONE); + } + + /** + * Get the businessMetadata definition by it's name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name businessMetadata name. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getBusinessMetadataByName(this.client.getEndpoint(), name, + accept, requestOptions, context)); + } + + /** + * Get the businessMetadata definition by it's name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name businessMetadata name. + * @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 businessMetadata definition by it's name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getBusinessMetadataByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getBusinessMetadataByNameSync(this.client.getEndpoint(), name, accept, requestOptions, + Context.NONE); + } + + /** + * Get the classification definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the classification. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getClassificationById(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get the classification definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the classification. + * @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 classification definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassificationByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the classification definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the classification. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getClassificationByName(this.client.getEndpoint(), name, accept, + requestOptions, context)); + } + + /** + * Get the classification definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the classification. + * @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 classification definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getClassificationByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassificationByNameSync(this.client.getEndpoint(), name, accept, requestOptions, + Context.NONE); + } + + /** + * Get the Entity definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getEntityById(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get the Entity definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @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 Entity definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEntityByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEntityByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the entity definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the entity. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getEntityByName(this.client.getEndpoint(), name, accept, requestOptions, context)); + } + + /** + * Get the entity definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the entity. + * @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 entity definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEntityByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEntityByNameSync(this.client.getEndpoint(), name, accept, requestOptions, Context.NONE); + } + + /** + * Get the enum definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the enum. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getEnumById(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get the enum definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the enum. + * @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 enum definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEnumByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEnumByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the enum definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the enum. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getEnumByName(this.client.getEndpoint(), name, accept, requestOptions, context)); + } + + /** + * Get the enum definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the enum. + * @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 enum definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getEnumByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEnumByNameSync(this.client.getEndpoint(), name, accept, requestOptions, Context.NONE); + } + + /** + * Get the relationship definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getRelationshipById(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get the relationship definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @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 relationship definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelationshipByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRelationshipByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the relationship definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param name The name of the relationship. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getRelationshipByName(this.client.getEndpoint(), name, accept, requestOptions, context)); + } + + /** + * Get the relationship definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     * }
+     * }
+ * + * @param name The name of the relationship. + * @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 relationship definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getRelationshipByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRelationshipByNameSync(this.client.getEndpoint(), name, accept, requestOptions, Context.NONE); + } + + /** + * Get the struct definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the struct. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getStructById(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get the struct definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the struct. + * @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 struct definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStructByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getStructByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the struct definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the struct. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getStructByName(this.client.getEndpoint(), name, accept, requestOptions, context)); + } + + /** + * Get the struct definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the struct. + * @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 struct definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getStructByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getStructByNameSync(this.client.getEndpoint(), name, accept, requestOptions, Context.NONE); + } + + /** + * Get the type definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the type. + * @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 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) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.getById(this.client.getEndpoint(), guid, accept, requestOptions, context)); + } + + /** + * Get the type definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the type. + * @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 type definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByIdSync(this.client.getEndpoint(), guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the type definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getByName(this.client.getEndpoint(), name, accept, requestOptions, context)); + } + + /** + * Get the type definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     entityTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     subTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     superTypes (Optional): [
+     *         String (Optional)
+     *     ]
+     *     relationshipAttributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *             isLegacyAttribute: Boolean (Optional)
+     *             relationshipTypeName: String (Optional)
+     *         }
+     *     ]
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Integer (Optional)
+     *             value: String (Optional)
+     *         }
+     *     ]
+     *     endDef1 (Optional): {
+     *         cardinality: String(SINGLE/LIST/SET) (Optional)
+     *         description: String (Optional)
+     *         isContainer: Boolean (Optional)
+     *         isLegacyAttribute: Boolean (Optional)
+     *         name: String (Optional)
+     *         type: String (Optional)
+     *     }
+     *     endDef2 (Optional): (recursive schema, see endDef2 above)
+     *     relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *     relationshipLabel: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type. + * @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 type definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByNameSync(this.client.getEndpoint(), name, accept, requestOptions, Context.NONE); + } + + /** + * Delete API for type identified by its name. + * + * @param name The name of the type. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteWithResponseAsync(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.delete(this.client.getEndpoint(), name, accept, requestOptions, context)); + } + + /** + * Delete API for type identified by its name. + * + * @param name The name of the type. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteSync(this.client.getEndpoint(), name, accept, requestOptions, Context.NONE); + } + + /** + * List all type definitions in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.get(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * List all type definitions in bulk. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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 definitions of types along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * 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 + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchCreateWithResponseAsync(BinaryData atlasTypesDef, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.batchCreate(this.client.getEndpoint(), accept, atlasTypesDef, requestOptions, context)); + } + + /** + * 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 + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchCreateWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchCreateSync(this.client.getEndpoint(), accept, atlasTypesDef, requestOptions, Context.NONE); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchUpdateWithResponseAsync(BinaryData atlasTypesDef, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.batchUpdate(this.client.getEndpoint(), accept, atlasTypesDef, requestOptions, context)); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 definitions of types along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchUpdateWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchUpdateSync(this.client.getEndpoint(), accept, atlasTypesDef, requestOptions, Context.NONE); + } + + /** + * Delete API for all types in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> batchDeleteWithResponseAsync(BinaryData atlasTypesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.batchDelete(this.client.getEndpoint(), accept, atlasTypesDef, requestOptions, context)); + } + + /** + * Delete API for all types in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): {
+     *                 availableLocales (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 calendar: Double (Optional)
+     *                 dateInstance (Optional): (recursive schema, see dateInstance above)
+     *                 dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *                 instance (Optional): (recursive schema, see instance above)
+     *                 lenient: Boolean (Optional)
+     *                 numberFormat (Optional): {
+     *                     availableLocales (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     currency: String (Optional)
+     *                     currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *                     groupingUsed: Boolean (Optional)
+     *                     instance (Optional): (recursive schema, see instance above)
+     *                     integerInstance (Optional): (recursive schema, see integerInstance above)
+     *                     maximumFractionDigits: Integer (Optional)
+     *                     maximumIntegerDigits: Integer (Optional)
+     *                     minimumFractionDigits: Integer (Optional)
+     *                     minimumIntegerDigits: Integer (Optional)
+     *                     numberInstance (Optional): (recursive schema, see numberInstance above)
+     *                     parseIntegerOnly: Boolean (Optional)
+     *                     percentInstance (Optional): (recursive schema, see percentInstance above)
+     *                     roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *                 }
+     *                 timeInstance (Optional): (recursive schema, see timeInstance above)
+     *                 timeZone (Optional): {
+     *                     dstSavings: Integer (Optional)
+     *                     id: String (Optional)
+     *                     availableIds (Optional): [
+     *                         String (Optional)
+     *                     ]
+     *                     default (Optional): (recursive schema, see default above)
+     *                     displayName: String (Optional)
+     *                     rawOffset: Integer (Optional)
+     *                 }
+     *             }
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Required)
+     *                             }
+     *                             type: String (Optional)
+     *                         }
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     classificationDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             entityTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *         }
+     *     ]
+     *     entityDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             subTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             superTypes (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             relationshipAttributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                         (recursive schema, see above)
+     *                     ]
+     *                     defaultValue: String (Optional)
+     *                     description: String (Optional)
+     *                     includeInNotification: Boolean (Optional)
+     *                     isIndexable: Boolean (Optional)
+     *                     isOptional: Boolean (Optional)
+     *                     isUnique: Boolean (Optional)
+     *                     name: String (Optional)
+     *                     options (Optional): {
+     *                         String: String (Required)
+     *                     }
+     *                     typeName: String (Optional)
+     *                     valuesMaxCount: Integer (Optional)
+     *                     valuesMinCount: Integer (Optional)
+     *                     isLegacyAttribute: Boolean (Optional)
+     *                     relationshipTypeName: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     enumDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Integer (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *             endDef1 (Optional): {
+     *                 cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                 description: String (Optional)
+     *                 isContainer: Boolean (Optional)
+     *                 isLegacyAttribute: Boolean (Optional)
+     *                 name: String (Optional)
+     *                 type: String (Optional)
+     *             }
+     *             endDef2 (Optional): (recursive schema, see endDef2 above)
+     *             relationshipCategory: String(ASSOCIATION/AGGREGATION/COMPOSITION) (Optional)
+     *             relationshipLabel: String (Optional)
+     *         }
+     *     ]
+     *     structDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     *     termTemplateDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Long (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Long (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Long (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param atlasTypesDef The definitions of types. + * @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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response batchDeleteWithResponse(BinaryData atlasTypesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.batchDeleteSync(this.client.getEndpoint(), accept, atlasTypesDef, requestOptions, Context.NONE); + } + + /** + * List all type definitions returned as a list of minimal information header. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *         guid: String (Optional)
+     *         name: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getHeadersWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getHeaders(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * List all type definitions returned as a list of minimal information header. + *

+ * Query Parameters + *

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
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".
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

+ * Response Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *         guid: String (Optional)
+     *         name: String (Optional)
+     *     }
+     * ]
+     * }
+ * + * @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 response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getHeadersWithResponse(RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getHeadersSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), accept, + requestOptions, Context.NONE); + } + + /** + * Get the term template definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the term template. + * @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 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) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTermTemplateById(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), guid, accept, requestOptions, context)); + } + + /** + * Get the term template definition for the given GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the term template. + * @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 term template definition for the given GUID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermTemplateByIdWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermTemplateByIdSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), + guid, accept, requestOptions, Context.NONE); + } + + /** + * Get the term template definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The unique name of the term template. + * @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 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, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTermTemplateByName(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), name, accept, requestOptions, context)); + } + + /** + * Get the term template definition by its name (unique). + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *     createTime: Long (Optional)
+     *     createdBy: String (Optional)
+     *     dateFormatter (Optional): {
+     *         availableLocales (Optional): [
+     *             String (Optional)
+     *         ]
+     *         calendar: Double (Optional)
+     *         dateInstance (Optional): (recursive schema, see dateInstance above)
+     *         dateTimeInstance (Optional): (recursive schema, see dateTimeInstance above)
+     *         instance (Optional): (recursive schema, see instance above)
+     *         lenient: Boolean (Optional)
+     *         numberFormat (Optional): {
+     *             availableLocales (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             currency: String (Optional)
+     *             currencyInstance (Optional): (recursive schema, see currencyInstance above)
+     *             groupingUsed: Boolean (Optional)
+     *             instance (Optional): (recursive schema, see instance above)
+     *             integerInstance (Optional): (recursive schema, see integerInstance above)
+     *             maximumFractionDigits: Integer (Optional)
+     *             maximumIntegerDigits: Integer (Optional)
+     *             minimumFractionDigits: Integer (Optional)
+     *             minimumIntegerDigits: Integer (Optional)
+     *             numberInstance (Optional): (recursive schema, see numberInstance above)
+     *             parseIntegerOnly: Boolean (Optional)
+     *             percentInstance (Optional): (recursive schema, see percentInstance above)
+     *             roundingMode: String(UP/DOWN/CEILING/FLOOR/HALF_UP/HALF_DOWN/HALF_EVEN/UNNECESSARY) (Optional)
+     *         }
+     *         timeInstance (Optional): (recursive schema, see timeInstance above)
+     *         timeZone (Optional): {
+     *             dstSavings: Integer (Optional)
+     *             id: String (Optional)
+     *             availableIds (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             default (Optional): (recursive schema, see default above)
+     *             displayName: String (Optional)
+     *             rawOffset: Integer (Optional)
+     *         }
+     *     }
+     *     description: String (Optional)
+     *     guid: String (Optional)
+     *     name: String (Optional)
+     *     options (Optional): {
+     *         String: String (Required)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Long (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Long (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Required)
+     *                     }
+     *                     type: String (Optional)
+     *                 }
+     *             ]
+     *             defaultValue: String (Optional)
+     *             description: String (Optional)
+     *             includeInNotification: Boolean (Optional)
+     *             isIndexable: Boolean (Optional)
+     *             isOptional: Boolean (Optional)
+     *             isUnique: Boolean (Optional)
+     *             name: String (Optional)
+     *             options (Optional): {
+     *                 String: String (Required)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The unique name of the term template. + * @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 term template definition by its name (unique) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTermTemplateByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermTemplateByNameSync(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), name, accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/ImportBusinessMetadataRequest.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/ImportBusinessMetadataRequest.java new file mode 100644 index 0000000000000..997df85854ffd --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/ImportBusinessMetadataRequest.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.implementation.models; + +import com.azure.analytics.purview.datamap.models.FileDetails; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; + +/** + * The ImportBusinessMetadataRequest model. + */ +@Immutable +public final class ImportBusinessMetadataRequest { + /* + * InputStream of file + */ + @Generated + private FileDetails file; + + /** + * Creates an instance of ImportBusinessMetadataRequest class. + * + * @param file the file value to set. + */ + @Generated + public ImportBusinessMetadataRequest(FileDetails file) { + this.file = file; + } + + /** + * Get the file property: InputStream of file. + * + * @return the file value. + */ + @Generated + public FileDetails getFile() { + return this.file; + } +} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/package-info.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/package-info.java new file mode 100644 index 0000000000000..80d461d3add82 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/models/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the data models for PurviewDataMap. + * Purview Data Map Service is a fully managed cloud service whose users can + * discover the data sources they need and understand the data sources they find. + * At the same time, Data Map helps organizations get more value from their + * existing investments. This spec defines REST API of Purview Data Map Service. + */ +package com.azure.analytics.purview.datamap.implementation.models; diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/package-info.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/package-info.java new file mode 100644 index 0000000000000..ecd7cb8c00e41 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the implementations for PurviewDataMap. + * Purview Data Map Service is a fully managed cloud service whose users can + * discover the data sources they need and understand the data sources they find. + * At the same time, Data Map helps organizations get more value from their + * existing investments. This spec defines REST API of Purview Data Map Service. + */ +package com.azure.analytics.purview.datamap.implementation; 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 new file mode 100644 index 0000000000000..31930f51a3cf6 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java @@ -0,0 +1,401 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * class that captures details of a struct-attribute. + */ +@Fluent +public final class AtlasAttributeDef { + /* + * 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; + + /** + * Creates an instance of AtlasAttributeDef class. + */ + @Generated + public AtlasAttributeDef() { + } + + /** + * Get the cardinality property: single-valued attribute or multi-valued attribute. + * + * @return the cardinality value. + */ + @Generated + public CardinalityValue getCardinality() { + return this.cardinality; + } + + /** + * Set the cardinality property: single-valued attribute or multi-valued attribute. + * + * @param cardinality the cardinality value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setCardinality(CardinalityValue cardinality) { + this.cardinality = cardinality; + return this; + } + + /** + * Get the constraints property: An array of constraints. + * + * @return the constraints value. + */ + @Generated + public List getConstraints() { + return this.constraints; + } + + /** + * Set the constraints property: An array of constraints. + * + * @param constraints the constraints value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setConstraints(List constraints) { + this.constraints = constraints; + return this; + } + + /** + * Get the defaultValue property: The default value of the attribute. + * + * @return the defaultValue value. + */ + @Generated + public String getDefaultValue() { + return this.defaultValue; + } + + /** + * Set the defaultValue property: The default value of the attribute. + * + * @param defaultValue the defaultValue value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setDefaultValue(String defaultValue) { + this.defaultValue = defaultValue; + return this; + } + + /** + * Get the description property: The description of the attribute. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the attribute. + * + * @param description the description value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the includeInNotification property: Determines if it is included in notification. + * + * @return the includeInNotification value. + */ + @Generated + public Boolean isIncludeInNotification() { + return this.includeInNotification; + } + + /** + * Set the includeInNotification property: Determines if it is included in notification. + * + * @param includeInNotification the includeInNotification value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setIncludeInNotification(Boolean includeInNotification) { + this.includeInNotification = includeInNotification; + return this; + } + + /** + * Get the isIndexable property: Determines if it is indexable. + * + * @return the isIndexable value. + */ + @Generated + public Boolean isIndexable() { + return this.isIndexable; + } + + /** + * Set the isIndexable property: Determines if it is indexable. + * + * @param isIndexable the isIndexable value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setIsIndexable(Boolean isIndexable) { + this.isIndexable = isIndexable; + return this; + } + + /** + * Get the isOptional property: Determines if it is optional. + * + * @return the isOptional value. + */ + @Generated + public Boolean isOptional() { + return this.isOptional; + } + + /** + * Set the isOptional property: Determines if it is optional. + * + * @param isOptional the isOptional value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setIsOptional(Boolean isOptional) { + this.isOptional = isOptional; + return this; + } + + /** + * Get the isUnique property: Determines if it unique. + * + * @return the isUnique value. + */ + @Generated + public Boolean isUnique() { + return this.isUnique; + } + + /** + * Set the isUnique property: Determines if it unique. + * + * @param isUnique the isUnique value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setIsUnique(Boolean isUnique) { + this.isUnique = isUnique; + return this; + } + + /** + * Get the name property: The name of the attribute. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the attribute. + * + * @param name the name value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the attribute. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the attribute. + * + * @param options the options value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the valuesMaxCount property: The maximum count of the values. + * + * @return the valuesMaxCount value. + */ + @Generated + public Integer getValuesMaxCount() { + return this.valuesMaxCount; + } + + /** + * Set the valuesMaxCount property: The maximum count of the values. + * + * @param valuesMaxCount the valuesMaxCount value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setValuesMaxCount(Integer valuesMaxCount) { + this.valuesMaxCount = valuesMaxCount; + return this; + } + + /** + * Get the valuesMinCount property: The minimum count of the values. + * + * @return the valuesMinCount value. + */ + @Generated + public Integer getValuesMinCount() { + return this.valuesMinCount; + } + + /** + * Set the valuesMinCount property: The minimum count of the values. + * + * @param valuesMinCount the valuesMinCount value to set. + * @return the AtlasAttributeDef object itself. + */ + @Generated + public AtlasAttributeDef setValuesMinCount(Integer valuesMinCount) { + this.valuesMinCount = valuesMinCount; + return this; + } +} 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 new file mode 100644 index 0000000000000..fa0f719354b2a --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java @@ -0,0 +1,459 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * class that captures details of a struct-type. + */ +@Fluent +public final class AtlasBusinessMetadataDef { + /* + * 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; + + /** + * Creates an instance of AtlasBusinessMetadataDef class. + */ + @Generated + public AtlasBusinessMetadataDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } + + /** + * Set the attributeDefs property: An array of attribute definitions. + * + * @param attributeDefs the attributeDefs value to set. + * @return the AtlasBusinessMetadataDef object itself. + */ + @Generated + public AtlasBusinessMetadataDef setAttributeDefs(List attributeDefs) { + this.attributeDefs = attributeDefs; + return this; + } +} 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 new file mode 100644 index 0000000000000..20fb948e7eedf --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java @@ -0,0 +1,233 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * An instance of a classification; it doesn't have an identity, this object + * exists only when associated with an entity. + */ +@Fluent +public final class AtlasClassification { + /* + * 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; + + /* + * Status of the entity - can be active or deleted. Deleted entities are not + * 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; + + /** + * Creates an instance of AtlasClassification class. + */ + @Generated + public AtlasClassification() { + } + + /** + * Get the attributes property: The attributes of the struct. + * + * @return the attributes value. + */ + @Generated + public Map getAttributes() { + return this.attributes; + } + + /** + * Set the attributes property: The attributes of the struct. + * + * @param attributes the attributes value to set. + * @return the AtlasClassification object itself. + */ + @Generated + public AtlasClassification setAttributes(Map attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasClassification object itself. + */ + @Generated + public AtlasClassification setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasClassification object itself. + */ + @Generated + public AtlasClassification setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the entityGuid property: The GUID of the entity. + * + * @return the entityGuid value. + */ + @Generated + public String getEntityGuid() { + return this.entityGuid; + } + + /** + * Set the entityGuid property: The GUID of the entity. + * + * @param entityGuid the entityGuid value to set. + * @return the AtlasClassification object itself. + */ + @Generated + public AtlasClassification setEntityGuid(String entityGuid) { + this.entityGuid = entityGuid; + return this; + } + + /** + * Get the entityStatus property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @return the entityStatus value. + */ + @Generated + public EntityStatus getEntityStatus() { + return this.entityStatus; + } + + /** + * Set the entityStatus property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @param entityStatus the entityStatus value to set. + * @return the AtlasClassification object itself. + */ + @Generated + public AtlasClassification setEntityStatus(EntityStatus entityStatus) { + this.entityStatus = entityStatus; + return this; + } + + /** + * Get the removePropagationsOnEntityDelete property: Determines if propagations will be removed on entity + * deletion. + * + * @return the removePropagationsOnEntityDelete value. + */ + @Generated + public Boolean isRemovePropagationsOnEntityDelete() { + return this.removePropagationsOnEntityDelete; + } + + /** + * 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. + */ + @Generated + public AtlasClassification setRemovePropagationsOnEntityDelete(Boolean removePropagationsOnEntityDelete) { + this.removePropagationsOnEntityDelete = removePropagationsOnEntityDelete; + return this; + } + + /** + * Get the validityPeriods property: An array of time boundaries indicating validity periods. + * + * @return the validityPeriods value. + */ + @Generated + public List getValidityPeriods() { + return this.validityPeriods; + } + + /** + * Set the validityPeriods property: An array of time boundaries indicating validity periods. + * + * @param validityPeriods the validityPeriods value to set. + * @return the AtlasClassification object itself. + */ + @Generated + public AtlasClassification setValidityPeriods(List validityPeriods) { + this.validityPeriods = validityPeriods; + return this; + } +} 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 new file mode 100644 index 0000000000000..d06734eae882f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java @@ -0,0 +1,607 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * class that captures details of a classification-type. + */ +@Fluent +public final class AtlasClassificationDef { + /* + * 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; + + /* + * Specifying a list of entityType names in the classificationDef, ensures that + * classifications can + * only be applied to those entityTypes. + * + * Any subtypes of the entity types inherit the restriction. + * + * Any classificationDef subtypes inherit the parents entityTypes restrictions. + * + * Any classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes. + * + * An empty entityTypes list when there are no parent restrictions means there are no + * restrictions. + * + * An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions. + * + * If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs. + * + */ + @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; + + /** + * Creates an instance of AtlasClassificationDef class. + */ + @Generated + public AtlasClassificationDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } + + /** + * Set the attributeDefs property: An array of attribute definitions. + * + * @param attributeDefs the attributeDefs value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setAttributeDefs(List attributeDefs) { + this.attributeDefs = attributeDefs; + return this; + } + + /** + * Get the entityTypes property: Specifying a list of entityType names in the classificationDef, ensures that + * classifications can + * only be applied to those entityTypes. + * + * Any subtypes of the entity types inherit the restriction. + * + * Any classificationDef subtypes inherit the parents entityTypes restrictions. + * + * Any classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes. + * + * An empty entityTypes list when there are no parent restrictions means there are no + * restrictions. + * + * An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions. + * + * If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs. + * + * @return the entityTypes value. + */ + @Generated + public List getEntityTypes() { + return this.entityTypes; + } + + /** + * Set the entityTypes property: Specifying a list of entityType names in the classificationDef, ensures that + * classifications can + * only be applied to those entityTypes. + * + * Any subtypes of the entity types inherit the restriction. + * + * Any classificationDef subtypes inherit the parents entityTypes restrictions. + * + * Any classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes. + * + * An empty entityTypes list when there are no parent restrictions means there are no + * restrictions. + * + * An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions. + * + * If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs. + * + * @param entityTypes the entityTypes value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setEntityTypes(List entityTypes) { + this.entityTypes = entityTypes; + return this; + } + + /** + * Get the subTypes property: An array of sub types. + * + * @return the subTypes value. + */ + @Generated + public List getSubTypes() { + return this.subTypes; + } + + /** + * Set the subTypes property: An array of sub types. + * + * @param subTypes the subTypes value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setSubTypes(List subTypes) { + this.subTypes = subTypes; + return this; + } + + /** + * Get the superTypes property: An array of super types. + * + * @return the superTypes value. + */ + @Generated + public List getSuperTypes() { + return this.superTypes; + } + + /** + * Set the superTypes property: An array of super types. + * + * @param superTypes the superTypes value to set. + * @return the AtlasClassificationDef object itself. + */ + @Generated + public AtlasClassificationDef setSuperTypes(List superTypes) { + this.superTypes = superTypes; + return this; + } +} 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 new file mode 100644 index 0000000000000..6e7c5dcd33d21 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * REST serialization friendly list. + */ +@Immutable +public final class AtlasClassifications { + /* + * 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; + + /** + * Creates an instance of AtlasClassifications class. + */ + @Generated + private AtlasClassifications() { + } + + /** + * Get the list property: An array of objects. + * + * @return the list value. + */ + @Generated + public List getList() { + return this.list; + } + + /** + * Get the pageSize property: The size of the page. + * + * @return the pageSize value. + */ + @Generated + public Integer getPageSize() { + return this.pageSize; + } + + /** + * Get the sortBy property: The sorted by field. + * + * @return the sortBy value. + */ + @Generated + public String getSortBy() { + return this.sortBy; + } + + /** + * Get the sortType property: to specify whether the result should be sorted? If yes, whether asc or desc. + * + * @return the sortType value. + */ + @Generated + public SortType getSortType() { + return this.sortType; + } + + /** + * Get the startIndex property: The start index of the page. + * + * @return the startIndex value. + */ + @Generated + public Integer getStartIndex() { + return this.startIndex; + } + + /** + * Get the totalCount property: The total count of items. + * + * @return the totalCount value. + */ + @Generated + public Integer getTotalCount() { + return this.totalCount; + } +} 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 new file mode 100644 index 0000000000000..b3691dcbe324c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * class that captures details of a constraint. + */ +@Fluent +public final class AtlasConstraintDef { + /* + * 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; + + /** + * Creates an instance of AtlasConstraintDef class. + */ + @Generated + public AtlasConstraintDef() { + } + + /** + * Get the params property: The parameters of the constraint definition. + * + * @return the params value. + */ + @Generated + public Map getParams() { + return this.params; + } + + /** + * Set the params property: The parameters of the constraint definition. + * + * @param params the params value to set. + * @return the AtlasConstraintDef object itself. + */ + @Generated + public AtlasConstraintDef setParams(Map params) { + this.params = params; + return this; + } + + /** + * Get the type property: The type of the constraint. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The type of the constraint. + * + * @param type the type value to set. + * @return the AtlasConstraintDef object itself. + */ + @Generated + public AtlasConstraintDef setType(String type) { + this.type = type; + return this; + } +} 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 new file mode 100644 index 0000000000000..e34fdc23f7e9e --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * An instance of an entity along with extended info - like hive_table, + * hive_database. + */ +@Fluent +public final class AtlasEntitiesWithExtInfo { + /* + * The referred entities. + */ + @Generated + @JsonProperty(value = "referredEntities") + private Map referredEntities; + + /* + * An array of entities. + */ + @Generated + @JsonProperty(value = "entities") + private List entities; + + /** + * Creates an instance of AtlasEntitiesWithExtInfo class. + */ + @Generated + public AtlasEntitiesWithExtInfo() { + } + + /** + * Get the referredEntities property: The referred entities. + * + * @return the referredEntities value. + */ + @Generated + public Map getReferredEntities() { + return this.referredEntities; + } + + /** + * Set the referredEntities property: The referred entities. + * + * @param referredEntities the referredEntities value to set. + * @return the AtlasEntitiesWithExtInfo object itself. + */ + @Generated + public AtlasEntitiesWithExtInfo setReferredEntities(Map referredEntities) { + this.referredEntities = referredEntities; + return this; + } + + /** + * Get the entities property: An array of entities. + * + * @return the entities value. + */ + @Generated + public List getEntities() { + return this.entities; + } + + /** + * Set the entities property: An array of entities. + * + * @param entities the entities value to set. + * @return the AtlasEntitiesWithExtInfo object itself. + */ + @Generated + public AtlasEntitiesWithExtInfo setEntities(List entities) { + this.entities = entities; + return this; + } +} 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 new file mode 100644 index 0000000000000..d58d745d5a4a3 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java @@ -0,0 +1,653 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * An instance of an entity - like hive_table, hive_database. + */ +@Fluent +public final class AtlasEntity { + /* + * 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; + + /* + * Status of the entity - can be active or deleted. Deleted entities are not + * 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; + + /** + * Creates an instance of AtlasEntity class. + */ + @Generated + public AtlasEntity() { + } + + /** + * Get the attributes property: The attributes of the struct. + * + * @return the attributes value. + */ + @Generated + public Map getAttributes() { + return this.attributes; + } + + /** + * Set the attributes property: The attributes of the struct. + * + * @param attributes the attributes value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setAttributes(Map attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the businessAttributes property: Business attributes. + * + * @return the businessAttributes value. + */ + @Generated + public Map getBusinessAttributes() { + return this.businessAttributes; + } + + /** + * Set the businessAttributes property: Business attributes. + * + * @param businessAttributes the businessAttributes value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setBusinessAttributes(Map businessAttributes) { + this.businessAttributes = businessAttributes; + return this; + } + + /** + * Get the classifications property: An array of classifications. + * + * @return the classifications value. + */ + @Generated + public List getClassifications() { + return this.classifications; + } + + /** + * Set the classifications property: An array of classifications. + * + * @param classifications the classifications value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setClassifications(List classifications) { + this.classifications = classifications; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the customAttributes property: Custom Attribute. + * + * @return the customAttributes value. + */ + @Generated + public Map getCustomAttributes() { + return this.customAttributes; + } + + /** + * Set the customAttributes property: Custom Attribute. + * + * @param customAttributes the customAttributes value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setCustomAttributes(Map customAttributes) { + this.customAttributes = customAttributes; + return this; + } + + /** + * Get the guid property: The GUID of the entity. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the entity. + * + * @param guid the guid value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the homeId property: The home ID of the entity. + * + * @return the homeId value. + */ + @Generated + public String getHomeId() { + return this.homeId; + } + + /** + * Set the homeId property: The home ID of the entity. + * + * @param homeId the homeId value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setHomeId(String homeId) { + this.homeId = homeId; + return this; + } + + /** + * Get the collectionId property: The collection ID of the entity. + * + * @return the collectionId value. + */ + @Generated + public String getCollectionId() { + return this.collectionId; + } + + /** + * Get the isIncomplete property: Whether it is a shell entity. + * + * @return the isIncomplete value. + */ + @Generated + public Boolean isIncomplete() { + return this.isIncomplete; + } + + /** + * Set the isIncomplete property: Whether it is a shell entity. + * + * @param isIncomplete the isIncomplete value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setIsIncomplete(Boolean isIncomplete) { + this.isIncomplete = isIncomplete; + return this; + } + + /** + * Get the labels property: labels. + * + * @return the labels value. + */ + @Generated + public List getLabels() { + return this.labels; + } + + /** + * Set the labels property: labels. + * + * @param labels the labels value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setLabels(List labels) { + this.labels = labels; + return this; + } + + /** + * Get the meanings property: An array of term assignment headers indicating the meanings of the entity. + * + * @return the meanings value. + */ + @Generated + public List getMeanings() { + return this.meanings; + } + + /** + * Set the meanings property: An array of term assignment headers indicating the meanings of the entity. + * + * @param meanings the meanings value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setMeanings(List meanings) { + this.meanings = meanings; + return this; + } + + /** + * Get the provenanceType property: Used to record the provenance of an instance of an entity or relationship. + * + * @return the provenanceType value. + */ + @Generated + public Integer getProvenanceType() { + return this.provenanceType; + } + + /** + * Set the provenanceType property: Used to record the provenance of an instance of an entity or relationship. + * + * @param provenanceType the provenanceType value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setProvenanceType(Integer provenanceType) { + this.provenanceType = provenanceType; + return this; + } + + /** + * Get the proxy property: Determines if there's a proxy. + * + * @return the proxy value. + */ + @Generated + public Boolean isProxy() { + return this.proxy; + } + + /** + * Set the proxy property: Determines if there's a proxy. + * + * @param proxy the proxy value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setProxy(Boolean proxy) { + this.proxy = proxy; + return this; + } + + /** + * Get the relationshipAttributes property: The attributes of relationship. + * + * @return the relationshipAttributes value. + */ + @Generated + public Map getRelationshipAttributes() { + return this.relationshipAttributes; + } + + /** + * Set the relationshipAttributes property: The attributes of relationship. + * + * @param relationshipAttributes the relationshipAttributes value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setRelationshipAttributes(Map relationshipAttributes) { + this.relationshipAttributes = relationshipAttributes; + return this; + } + + /** + * Get the status property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @return the status value. + */ + @Generated + public EntityStatus getStatus() { + return this.status; + } + + /** + * Set the status property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @param status the status value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setStatus(EntityStatus status) { + this.status = status; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the entity. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the entity. + * + * @param version the version value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the contacts property: The dictionary of contacts for entities. Key could be Expert or Owner. + * + * @return the contacts value. + */ + @Generated + public Map> getContacts() { + return this.contacts; + } + + /** + * Set the contacts property: The dictionary of contacts for entities. Key could be Expert or Owner. + * + * @param contacts the contacts value to set. + * @return the AtlasEntity object itself. + */ + @Generated + public AtlasEntity setContacts(Map> contacts) { + this.contacts = contacts; + return this; + } +} 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 new file mode 100644 index 0000000000000..1a026e1395fdc --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java @@ -0,0 +1,546 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * class that captures details of a entity-type. + */ +@Fluent +public final class AtlasEntityDef { + /* + * 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; + + /** + * Creates an instance of AtlasEntityDef class. + */ + @Generated + public AtlasEntityDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } + + /** + * Set the attributeDefs property: An array of attribute definitions. + * + * @param attributeDefs the attributeDefs value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setAttributeDefs(List attributeDefs) { + this.attributeDefs = attributeDefs; + return this; + } + + /** + * Get the subTypes property: An array of sub types. + * + * @return the subTypes value. + */ + @Generated + public List getSubTypes() { + return this.subTypes; + } + + /** + * Set the subTypes property: An array of sub types. + * + * @param subTypes the subTypes value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setSubTypes(List subTypes) { + this.subTypes = subTypes; + return this; + } + + /** + * Get the superTypes property: An array of super types. + * + * @return the superTypes value. + */ + @Generated + public List getSuperTypes() { + return this.superTypes; + } + + /** + * Set the superTypes property: An array of super types. + * + * @param superTypes the superTypes value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setSuperTypes(List superTypes) { + this.superTypes = superTypes; + return this; + } + + /** + * Get the relationshipAttributeDefs property: An array of relationship attributes. + * + * @return the relationshipAttributeDefs value. + */ + @Generated + public List getRelationshipAttributeDefs() { + return this.relationshipAttributeDefs; + } + + /** + * Set the relationshipAttributeDefs property: An array of relationship attributes. + * + * @param relationshipAttributeDefs the relationshipAttributeDefs value to set. + * @return the AtlasEntityDef object itself. + */ + @Generated + public AtlasEntityDef setRelationshipAttributeDefs(List relationshipAttributeDefs) { + this.relationshipAttributeDefs = relationshipAttributeDefs; + return this; + } +} 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 new file mode 100644 index 0000000000000..86dc71f9271e2 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java @@ -0,0 +1,375 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * An instance of an entity - like hive_table, hive_database. + */ +@Fluent +public final class AtlasEntityHeader { + /* + * 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; + + /* + * Status of the entity - can be active or deleted. Deleted entities are not + * removed. + */ + @Generated + @JsonProperty(value = "status") + private EntityStatus status; + + /** + * Creates an instance of AtlasEntityHeader class. + */ + @Generated + public AtlasEntityHeader() { + } + + /** + * Get the attributes property: The attributes of the struct. + * + * @return the attributes value. + */ + @Generated + public Map getAttributes() { + return this.attributes; + } + + /** + * Set the attributes property: The attributes of the struct. + * + * @param attributes the attributes value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setAttributes(Map attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the classificationNames property: An array of classification names. + * + * @return the classificationNames value. + */ + @Generated + public List getClassificationNames() { + return this.classificationNames; + } + + /** + * Set the classificationNames property: An array of classification names. + * + * @param classificationNames the classificationNames value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setClassificationNames(List classificationNames) { + this.classificationNames = classificationNames; + return this; + } + + /** + * Get the classifications property: An array of classifications. + * + * @return the classifications value. + */ + @Generated + public List getClassifications() { + return this.classifications; + } + + /** + * Set the classifications property: An array of classifications. + * + * @param classifications the classifications value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setClassifications(List classifications) { + this.classifications = classifications; + return this; + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the guid property: The GUID of the record. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the record. + * + * @param guid the guid value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the isIncomplete property: Whether it is a shell entity. + * + * @return the isIncomplete value. + */ + @Generated + public Boolean isIncomplete() { + return this.isIncomplete; + } + + /** + * Set the isIncomplete property: Whether it is a shell entity. + * + * @param isIncomplete the isIncomplete value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setIsIncomplete(Boolean isIncomplete) { + this.isIncomplete = isIncomplete; + return this; + } + + /** + * Get the labels property: labels. + * + * @return the labels value. + */ + @Generated + public List getLabels() { + return this.labels; + } + + /** + * Set the labels property: labels. + * + * @param labels the labels value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setLabels(List labels) { + this.labels = labels; + return this; + } + + /** + * Get the meaningNames property: An array of meanings. + * + * @return the meaningNames value. + */ + @Generated + public List getMeaningNames() { + return this.meaningNames; + } + + /** + * Set the meaningNames property: An array of meanings. + * + * @param meaningNames the meaningNames value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setMeaningNames(List meaningNames) { + this.meaningNames = meaningNames; + return this; + } + + /** + * Get the meanings property: An array of term assignment headers. + * + * @return the meanings value. + */ + @Generated + public List getMeanings() { + return this.meanings; + } + + /** + * Set the meanings property: An array of term assignment headers. + * + * @param meanings the meanings value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setMeanings(List meanings) { + this.meanings = meanings; + return this; + } + + /** + * Get the status property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @return the status value. + */ + @Generated + public EntityStatus getStatus() { + return this.status; + } + + /** + * Set the status property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @param status the status value to set. + * @return the AtlasEntityHeader object itself. + */ + @Generated + public AtlasEntityHeader setStatus(EntityStatus status) { + this.status = status; + return this; + } +} 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 new file mode 100644 index 0000000000000..53654501cb48c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * An instance of an entity header map. + */ +@Fluent +public final class AtlasEntityHeaders { + /* + * The description of the guid header map, + */ + @Generated + @JsonProperty(value = "guidHeaderMap") + private Map guidHeaderMap; + + /** + * Creates an instance of AtlasEntityHeaders class. + */ + @Generated + public AtlasEntityHeaders() { + } + + /** + * Get the guidHeaderMap property: The description of the guid header map,. + * + * @return the guidHeaderMap value. + */ + @Generated + public Map getGuidHeaderMap() { + return this.guidHeaderMap; + } + + /** + * Set the guidHeaderMap property: The description of the guid header map,. + * + * @param guidHeaderMap the guidHeaderMap value to set. + * @return the AtlasEntityHeaders object itself. + */ + @Generated + public AtlasEntityHeaders setGuidHeaderMap(Map guidHeaderMap) { + this.guidHeaderMap = guidHeaderMap; + return this; + } +} 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 new file mode 100644 index 0000000000000..f4c0ae6b99b52 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java @@ -0,0 +1,82 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * An instance of an entity along with extended info - like hive_table, + * hive_database. + */ +@Fluent +public final class AtlasEntityWithExtInfo { + /* + * 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; + + /** + * Creates an instance of AtlasEntityWithExtInfo class. + */ + @Generated + public AtlasEntityWithExtInfo() { + } + + /** + * Get the referredEntities property: The referred entities. + * + * @return the referredEntities value. + */ + @Generated + public Map getReferredEntities() { + return this.referredEntities; + } + + /** + * Set the referredEntities property: The referred entities. + * + * @param referredEntities the referredEntities value to set. + * @return the AtlasEntityWithExtInfo object itself. + */ + @Generated + public AtlasEntityWithExtInfo setReferredEntities(Map referredEntities) { + this.referredEntities = referredEntities; + return this; + } + + /** + * Get the entity property: An instance of an entity - like hive_table, hive_database. + * + * @return the entity value. + */ + @Generated + public AtlasEntity getEntity() { + return this.entity; + } + + /** + * Set the entity property: An instance of an entity - like hive_table, hive_database. + * + * @param entity the entity value to set. + * @return the AtlasEntityWithExtInfo object itself. + */ + @Generated + public AtlasEntityWithExtInfo setEntity(AtlasEntity entity) { + this.entity = entity; + return this; + } +} 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 new file mode 100644 index 0000000000000..fd72c80348b2a --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java @@ -0,0 +1,488 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * class that captures details of an enum-type. + */ +@Fluent +public final class AtlasEnumDef { + /* + * 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; + + /** + * Creates an instance of AtlasEnumDef class. + */ + @Generated + public AtlasEnumDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the defaultValue property: The default value. + * + * @return the defaultValue value. + */ + @Generated + public String getDefaultValue() { + return this.defaultValue; + } + + /** + * Set the defaultValue property: The default value. + * + * @param defaultValue the defaultValue value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setDefaultValue(String defaultValue) { + this.defaultValue = defaultValue; + return this; + } + + /** + * Get the elementDefs property: An array of enum element definitions. + * + * @return the elementDefs value. + */ + @Generated + public List getElementDefs() { + return this.elementDefs; + } + + /** + * Set the elementDefs property: An array of enum element definitions. + * + * @param elementDefs the elementDefs value to set. + * @return the AtlasEnumDef object itself. + */ + @Generated + public AtlasEnumDef setElementDefs(List elementDefs) { + this.elementDefs = elementDefs; + return this; + } +} 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 new file mode 100644 index 0000000000000..99543f7e32941 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * class that captures details of an enum-element. + */ +@Fluent +public final class AtlasEnumElementDef { + /* + * 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; + + /** + * Creates an instance of AtlasEnumElementDef class. + */ + @Generated + public AtlasEnumElementDef() { + } + + /** + * Get the description property: The description of the enum element definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the enum element definition. + * + * @param description the description value to set. + * @return the AtlasEnumElementDef object itself. + */ + @Generated + public AtlasEnumElementDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the ordinal property: The ordinal of the enum element definition. + * + * @return the ordinal value. + */ + @Generated + public Integer getOrdinal() { + return this.ordinal; + } + + /** + * Set the ordinal property: The ordinal of the enum element definition. + * + * @param ordinal the ordinal value to set. + * @return the AtlasEnumElementDef object itself. + */ + @Generated + public AtlasEnumElementDef setOrdinal(Integer ordinal) { + this.ordinal = ordinal; + return this; + } + + /** + * Get the value property: The value of the enum element definition. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } + + /** + * Set the value property: The value of the enum element definition. + * + * @param value the value value to set. + * @return the AtlasEnumElementDef object itself. + */ + @Generated + public AtlasEnumElementDef setValue(String value) { + this.value = value; + return this; + } +} 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 new file mode 100644 index 0000000000000..09813d2031b1d --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java @@ -0,0 +1,458 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The glossary object. + */ +@Fluent +public final class AtlasGlossary { + /* + * 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; + + /** + * Creates an instance of AtlasGlossary class. + */ + @Generated + public AtlasGlossary() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the object. + * + * @param guid the guid value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the classifications property: An array of classifications. + * + * @return the classifications value. + */ + @Generated + public List getClassifications() { + return this.classifications; + } + + /** + * Set the classifications property: An array of classifications. + * + * @param classifications the classifications value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setClassifications(List classifications) { + this.classifications = classifications; + return this; + } + + /** + * Get the longDescription property: The long version description. + * + * @return the longDescription value. + */ + @Generated + public String getLongDescription() { + return this.longDescription; + } + + /** + * Set the longDescription property: The long version description. + * + * @param longDescription the longDescription value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setLongDescription(String longDescription) { + this.longDescription = longDescription; + return this; + } + + /** + * Get the name property: The name of the glossary object. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the glossary object. + * + * @param name the name value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setName(String name) { + this.name = name; + return this; + } + + /** + * Get the qualifiedName property: The qualified name of the glossary object. + * + * @return the qualifiedName value. + */ + @Generated + public String getQualifiedName() { + return this.qualifiedName; + } + + /** + * Set the qualifiedName property: The qualified name of the glossary object. + * + * @param qualifiedName the qualifiedName value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setQualifiedName(String qualifiedName) { + this.qualifiedName = qualifiedName; + return this; + } + + /** + * Get the shortDescription property: The short version of description. + * + * @return the shortDescription value. + */ + @Generated + public String getShortDescription() { + return this.shortDescription; + } + + /** + * Set the shortDescription property: The short version of description. + * + * @param shortDescription the shortDescription value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setShortDescription(String shortDescription) { + this.shortDescription = shortDescription; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the categories property: An array of categories. + * + * @return the categories value. + */ + @Generated + public List getCategories() { + return this.categories; + } + + /** + * Set the categories property: An array of categories. + * + * @param categories the categories value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setCategories(List categories) { + this.categories = categories; + return this; + } + + /** + * Get the language property: The language of the glossary. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Set the language property: The language of the glossary. + * + * @param language the language value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setLanguage(String language) { + this.language = language; + return this; + } + + /** + * Get the terms property: An array of related term headers. + * + * @return the terms value. + */ + @Generated + public List getTerms() { + return this.terms; + } + + /** + * Set the terms property: An array of related term headers. + * + * @param terms the terms value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setTerms(List terms) { + this.terms = terms; + return this; + } + + /** + * Get the usage property: The usage of the glossary. + * + * @return the usage value. + */ + @Generated + public String getUsage() { + return this.usage; + } + + /** + * Set the usage property: The usage of the glossary. + * + * @param usage the usage value to set. + * @return the AtlasGlossary object itself. + */ + @Generated + public AtlasGlossary setUsage(String usage) { + this.usage = usage; + return this; + } +} 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 new file mode 100644 index 0000000000000..459b150ca115c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java @@ -0,0 +1,458 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The glossary category. + */ +@Fluent +public final class AtlasGlossaryCategory { + /* + * 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; + + /** + * Creates an instance of AtlasGlossaryCategory class. + */ + @Generated + public AtlasGlossaryCategory() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the object. + * + * @param guid the guid value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the classifications property: An array of classifications. + * + * @return the classifications value. + */ + @Generated + public List getClassifications() { + return this.classifications; + } + + /** + * Set the classifications property: An array of classifications. + * + * @param classifications the classifications value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setClassifications(List classifications) { + this.classifications = classifications; + return this; + } + + /** + * Get the longDescription property: The long version description. + * + * @return the longDescription value. + */ + @Generated + public String getLongDescription() { + return this.longDescription; + } + + /** + * Set the longDescription property: The long version description. + * + * @param longDescription the longDescription value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setLongDescription(String longDescription) { + this.longDescription = longDescription; + return this; + } + + /** + * Get the name property: The name of the glossary object. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the glossary object. + * + * @param name the name value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setName(String name) { + this.name = name; + return this; + } + + /** + * Get the qualifiedName property: The qualified name of the glossary object. + * + * @return the qualifiedName value. + */ + @Generated + public String getQualifiedName() { + return this.qualifiedName; + } + + /** + * Set the qualifiedName property: The qualified name of the glossary object. + * + * @param qualifiedName the qualifiedName value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setQualifiedName(String qualifiedName) { + this.qualifiedName = qualifiedName; + return this; + } + + /** + * Get the shortDescription property: The short version of description. + * + * @return the shortDescription value. + */ + @Generated + public String getShortDescription() { + return this.shortDescription; + } + + /** + * Set the shortDescription property: The short version of description. + * + * @param shortDescription the shortDescription value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setShortDescription(String shortDescription) { + this.shortDescription = shortDescription; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the anchor property: The glossary header with basic information. + * + * @return the anchor value. + */ + @Generated + public AtlasGlossaryHeader getAnchor() { + return this.anchor; + } + + /** + * Set the anchor property: The glossary header with basic information. + * + * @param anchor the anchor value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setAnchor(AtlasGlossaryHeader anchor) { + this.anchor = anchor; + return this; + } + + /** + * Get the childrenCategories property: An array of children categories. + * + * @return the childrenCategories value. + */ + @Generated + public List getChildrenCategories() { + return this.childrenCategories; + } + + /** + * Set the childrenCategories property: An array of children categories. + * + * @param childrenCategories the childrenCategories value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setChildrenCategories(List childrenCategories) { + this.childrenCategories = childrenCategories; + return this; + } + + /** + * Get the parentCategory property: The header of the related category. + * + * @return the parentCategory value. + */ + @Generated + public AtlasRelatedCategoryHeader getParentCategory() { + return this.parentCategory; + } + + /** + * Set the parentCategory property: The header of the related category. + * + * @param parentCategory the parentCategory value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setParentCategory(AtlasRelatedCategoryHeader parentCategory) { + this.parentCategory = parentCategory; + return this; + } + + /** + * Get the terms property: An array of related term headers. + * + * @return the terms value. + */ + @Generated + public List getTerms() { + return this.terms; + } + + /** + * Set the terms property: An array of related term headers. + * + * @param terms the terms value to set. + * @return the AtlasGlossaryCategory object itself. + */ + @Generated + public AtlasGlossaryCategory setTerms(List terms) { + this.terms = terms; + return this; + } +} 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 new file mode 100644 index 0000000000000..394ad9d56b5d2 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java @@ -0,0 +1,313 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * The extended information of glossary. + */ +@Immutable +public final class AtlasGlossaryExtInfo { + /* + * 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; + + /** + * Creates an instance of AtlasGlossaryExtInfo class. + */ + @Generated + private AtlasGlossaryExtInfo() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Get the classifications property: An array of classifications. + * + * @return the classifications value. + */ + @Generated + public List getClassifications() { + return this.classifications; + } + + /** + * Get the longDescription property: The long version description. + * + * @return the longDescription value. + */ + @Generated + public String getLongDescription() { + return this.longDescription; + } + + /** + * Get the name property: The name of the glossary object. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the qualifiedName property: The qualified name of the glossary object. + * + * @return the qualifiedName value. + */ + @Generated + public String getQualifiedName() { + return this.qualifiedName; + } + + /** + * Get the shortDescription property: The short version of description. + * + * @return the shortDescription value. + */ + @Generated + public String getShortDescription() { + return this.shortDescription; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Get the categories property: An array of categories. + * + * @return the categories value. + */ + @Generated + public List getCategories() { + return this.categories; + } + + /** + * Get the language property: The language of the glossary. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Get the terms property: An array of related term headers. + * + * @return the terms value. + */ + @Generated + public List getTerms() { + return this.terms; + } + + /** + * Get the usage property: The usage of the glossary. + * + * @return the usage value. + */ + @Generated + public String getUsage() { + return this.usage; + } + + /** + * Get the categoryInfo property: The glossary category information. + * + * @return the categoryInfo value. + */ + @Generated + public Map getCategoryInfo() { + return this.categoryInfo; + } + + /** + * Get the termInfo property: The glossary term information. + * + * @return the termInfo value. + */ + @Generated + public Map getTermInfo() { + return this.termInfo; + } +} 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 new file mode 100644 index 0000000000000..2e534c3aa4f81 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The glossary header with basic information. + */ +@Fluent +public final class AtlasGlossaryHeader { + /* + * 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; + + /** + * Creates an instance of AtlasGlossaryHeader class. + */ + @Generated + public AtlasGlossaryHeader() { + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasGlossaryHeader object itself. + */ + @Generated + public AtlasGlossaryHeader setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the glossaryGuid property: The GUID of the glossary. + * + * @return the glossaryGuid value. + */ + @Generated + public String getGlossaryGuid() { + return this.glossaryGuid; + } + + /** + * Set the glossaryGuid property: The GUID of the glossary. + * + * @param glossaryGuid the glossaryGuid value to set. + * @return the AtlasGlossaryHeader object itself. + */ + @Generated + public AtlasGlossaryHeader setGlossaryGuid(String glossaryGuid) { + this.glossaryGuid = glossaryGuid; + return this; + } + + /** + * Get the relationGuid property: The GUID of the relationship. + * + * @return the relationGuid value. + */ + @Generated + public String getRelationGuid() { + return this.relationGuid; + } + + /** + * Set the relationGuid property: The GUID of the relationship. + * + * @param relationGuid the relationGuid value to set. + * @return the AtlasGlossaryHeader object itself. + */ + @Generated + public AtlasGlossaryHeader setRelationGuid(String relationGuid) { + this.relationGuid = relationGuid; + return this; + } +} 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 new file mode 100644 index 0000000000000..1439f25338e8f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java @@ -0,0 +1,1105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * The glossary term. + */ +@Fluent +public final class AtlasGlossaryTerm { + /* + * 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; + + /* + * The custom attributes of the term, which is map>. + * The + * 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; + + /** + * Creates an instance of AtlasGlossaryTerm class. + */ + @Generated + public AtlasGlossaryTerm() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the object. + * + * @param guid the guid value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the classifications property: An array of classifications. + * + * @return the classifications value. + */ + @Generated + public List getClassifications() { + return this.classifications; + } + + /** + * Set the classifications property: An array of classifications. + * + * @param classifications the classifications value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setClassifications(List classifications) { + this.classifications = classifications; + return this; + } + + /** + * Get the longDescription property: The long version description. + * + * @return the longDescription value. + */ + @Generated + public String getLongDescription() { + return this.longDescription; + } + + /** + * Set the longDescription property: The long version description. + * + * @param longDescription the longDescription value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setLongDescription(String longDescription) { + this.longDescription = longDescription; + return this; + } + + /** + * Get the name property: The name of the glossary object. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the glossary object. + * + * @param name the name value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setName(String name) { + this.name = name; + return this; + } + + /** + * Get the qualifiedName property: The qualified name of the glossary object. + * + * @return the qualifiedName value. + */ + @Generated + public String getQualifiedName() { + return this.qualifiedName; + } + + /** + * Set the qualifiedName property: The qualified name of the glossary object. + * + * @param qualifiedName the qualifiedName value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setQualifiedName(String qualifiedName) { + this.qualifiedName = qualifiedName; + return this; + } + + /** + * Get the shortDescription property: The short version of description. + * + * @return the shortDescription value. + */ + @Generated + public String getShortDescription() { + return this.shortDescription; + } + + /** + * Set the shortDescription property: The short version of description. + * + * @param shortDescription the shortDescription value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setShortDescription(String shortDescription) { + this.shortDescription = shortDescription; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the abbreviation property: The abbreviation of the term. + * + * @return the abbreviation value. + */ + @Generated + public String getAbbreviation() { + return this.abbreviation; + } + + /** + * Set the abbreviation property: The abbreviation of the term. + * + * @param abbreviation the abbreviation value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setAbbreviation(String abbreviation) { + this.abbreviation = abbreviation; + return this; + } + + /** + * Get the templateName property: The name of the template. + * + * @return the templateName value. + */ + @Generated + public List getTemplateName() { + return this.templateName; + } + + /** + * Set the templateName property: The name of the template. + * + * @param templateName the templateName value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setTemplateName(List templateName) { + this.templateName = templateName; + return this; + } + + /** + * Get the anchor property: The glossary header with basic information. + * + * @return the anchor value. + */ + @Generated + public AtlasGlossaryHeader getAnchor() { + return this.anchor; + } + + /** + * Set the anchor property: The glossary header with basic information. + * + * @param anchor the anchor value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setAnchor(AtlasGlossaryHeader anchor) { + this.anchor = anchor; + return this; + } + + /** + * Get the antonyms property: An array of related term headers as antonyms. + * + * @return the antonyms value. + */ + @Generated + public List getAntonyms() { + return this.antonyms; + } + + /** + * Set the antonyms property: An array of related term headers as antonyms. + * + * @param antonyms the antonyms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setAntonyms(List antonyms) { + this.antonyms = antonyms; + return this; + } + + /** + * Get the status property: Status of the AtlasGlossaryTerm. + * + * @return the status value. + */ + @Generated + public TermStatus getStatus() { + return this.status; + } + + /** + * Set the status property: Status of the AtlasGlossaryTerm. + * + * @param status the status value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setStatus(TermStatus status) { + this.status = status; + return this; + } + + /** + * Get the nickName property: The nick name of the term. + * + * @return the nickName value. + */ + @Generated + public String getNickName() { + return this.nickName; + } + + /** + * Set the nickName property: The nick name of the term. + * + * @param nickName the nickName value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setNickName(String nickName) { + this.nickName = nickName; + return this; + } + + /** + * Get the hierarchyInfo property: The hierarchy information of the term. + * + * @return the hierarchyInfo value. + */ + @Generated + public List getHierarchyInfo() { + return this.hierarchyInfo; + } + + /** + * Set the hierarchyInfo property: The hierarchy information of the term. + * + * @param hierarchyInfo the hierarchyInfo value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setHierarchyInfo(List hierarchyInfo) { + this.hierarchyInfo = hierarchyInfo; + return this; + } + + /** + * Get the resources property: An array of resource link for term. + * + * @return the resources value. + */ + @Generated + public List getResources() { + return this.resources; + } + + /** + * Set the resources property: An array of resource link for term. + * + * @param resources the resources value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setResources(List resources) { + this.resources = resources; + return this; + } + + /** + * Get the contacts property: The dictionary of contacts for terms. Key could be Expert or Steward. + * + * @return the contacts value. + */ + @Generated + public Map> getContacts() { + return this.contacts; + } + + /** + * Set the contacts property: The dictionary of contacts for terms. Key could be Expert or Steward. + * + * @param contacts the contacts value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setContacts(Map> contacts) { + this.contacts = contacts; + return this; + } + + /** + * 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. + * + * @return the attributes value. + */ + @Generated + public Map> getAttributes() { + return this.attributes; + } + + /** + * 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. + * + * @param attributes the attributes value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setAttributes(Map> attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get the assignedEntities property: An array of related object IDs. + * + * @return the assignedEntities value. + */ + @Generated + public List getAssignedEntities() { + return this.assignedEntities; + } + + /** + * Set the assignedEntities property: An array of related object IDs. + * + * @param assignedEntities the assignedEntities value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setAssignedEntities(List assignedEntities) { + this.assignedEntities = assignedEntities; + return this; + } + + /** + * Get the categories property: An array of term categorization headers. + * + * @return the categories value. + */ + @Generated + public List getCategories() { + return this.categories; + } + + /** + * Set the categories property: An array of term categorization headers. + * + * @param categories the categories value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setCategories(List categories) { + this.categories = categories; + return this; + } + + /** + * Get the classifies property: An array of related term headers. + * + * @return the classifies value. + */ + @Generated + public List getClassifies() { + return this.classifies; + } + + /** + * Set the classifies property: An array of related term headers. + * + * @param classifies the classifies value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setClassifies(List classifies) { + this.classifies = classifies; + return this; + } + + /** + * Get the examples property: An array of examples. + * + * @return the examples value. + */ + @Generated + public List getExamples() { + return this.examples; + } + + /** + * Set the examples property: An array of examples. + * + * @param examples the examples value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setExamples(List examples) { + this.examples = examples; + return this; + } + + /** + * Get the isA property: An array of related term headers indicating the is-a relationship. + * + * @return the isA value. + */ + @Generated + public List getIsA() { + return this.isA; + } + + /** + * Set the isA property: An array of related term headers indicating the is-a relationship. + * + * @param isA the isA value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setIsA(List isA) { + this.isA = isA; + return this; + } + + /** + * Get the preferredTerms property: An array of preferred related term headers. + * + * @return the preferredTerms value. + */ + @Generated + public List getPreferredTerms() { + return this.preferredTerms; + } + + /** + * Set the preferredTerms property: An array of preferred related term headers. + * + * @param preferredTerms the preferredTerms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setPreferredTerms(List preferredTerms) { + this.preferredTerms = preferredTerms; + return this; + } + + /** + * Get the preferredToTerms property: An array of related term headers that are preferred to. + * + * @return the preferredToTerms value. + */ + @Generated + public List getPreferredToTerms() { + return this.preferredToTerms; + } + + /** + * Set the preferredToTerms property: An array of related term headers that are preferred to. + * + * @param preferredToTerms the preferredToTerms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setPreferredToTerms(List preferredToTerms) { + this.preferredToTerms = preferredToTerms; + return this; + } + + /** + * Get the replacedBy property: An array of related term headers that are replaced by. + * + * @return the replacedBy value. + */ + @Generated + public List getReplacedBy() { + return this.replacedBy; + } + + /** + * Set the replacedBy property: An array of related term headers that are replaced by. + * + * @param replacedBy the replacedBy value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setReplacedBy(List replacedBy) { + this.replacedBy = replacedBy; + return this; + } + + /** + * Get the replacementTerms property: An array of related term headers for replacement. + * + * @return the replacementTerms value. + */ + @Generated + public List getReplacementTerms() { + return this.replacementTerms; + } + + /** + * Set the replacementTerms property: An array of related term headers for replacement. + * + * @param replacementTerms the replacementTerms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setReplacementTerms(List replacementTerms) { + this.replacementTerms = replacementTerms; + return this; + } + + /** + * Get the seeAlso property: An array of related term headers for see also. + * + * @return the seeAlso value. + */ + @Generated + public List getSeeAlso() { + return this.seeAlso; + } + + /** + * Set the seeAlso property: An array of related term headers for see also. + * + * @param seeAlso the seeAlso value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setSeeAlso(List seeAlso) { + this.seeAlso = seeAlso; + return this; + } + + /** + * Get the synonyms property: An array of related term headers as synonyms. + * + * @return the synonyms value. + */ + @Generated + public List getSynonyms() { + return this.synonyms; + } + + /** + * Set the synonyms property: An array of related term headers as synonyms. + * + * @param synonyms the synonyms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setSynonyms(List synonyms) { + this.synonyms = synonyms; + return this; + } + + /** + * Get the translatedTerms property: An array of translated related term headers. + * + * @return the translatedTerms value. + */ + @Generated + public List getTranslatedTerms() { + return this.translatedTerms; + } + + /** + * Set the translatedTerms property: An array of translated related term headers. + * + * @param translatedTerms the translatedTerms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setTranslatedTerms(List translatedTerms) { + this.translatedTerms = translatedTerms; + return this; + } + + /** + * Get the translationTerms property: An array of related term headers for translation. + * + * @return the translationTerms value. + */ + @Generated + public List getTranslationTerms() { + return this.translationTerms; + } + + /** + * Set the translationTerms property: An array of related term headers for translation. + * + * @param translationTerms the translationTerms value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setTranslationTerms(List translationTerms) { + this.translationTerms = translationTerms; + return this; + } + + /** + * Get the usage property: The usage of the term. + * + * @return the usage value. + */ + @Generated + public String getUsage() { + return this.usage; + } + + /** + * Set the usage property: The usage of the term. + * + * @param usage the usage value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setUsage(String usage) { + this.usage = usage; + return this; + } + + /** + * Get the validValues property: An array of related term headers as valid values. + * + * @return the validValues value. + */ + @Generated + public List getValidValues() { + return this.validValues; + } + + /** + * Set the validValues property: An array of related term headers as valid values. + * + * @param validValues the validValues value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setValidValues(List validValues) { + this.validValues = validValues; + return this; + } + + /** + * Get the validValuesFor property: An array of related term headers as valid values for other records. + * + * @return the validValuesFor value. + */ + @Generated + public List getValidValuesFor() { + return this.validValuesFor; + } + + /** + * Set the validValuesFor property: An array of related term headers as valid values for other records. + * + * @param validValuesFor the validValuesFor value to set. + * @return the AtlasGlossaryTerm object itself. + */ + @Generated + public AtlasGlossaryTerm setValidValuesFor(List validValuesFor) { + this.validValuesFor = validValuesFor; + return this; + } +} 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 new file mode 100644 index 0000000000000..f33fc44b70b23 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java @@ -0,0 +1,177 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * The lineage information. + */ +@Immutable +public final class AtlasLineageInfo { + /* + * 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; + + /** + * Creates an instance of AtlasLineageInfo class. + */ + @Generated + private AtlasLineageInfo() { + } + + /** + * Get the baseEntityGuid property: The GUID of the base entity. + * + * @return the baseEntityGuid value. + */ + @Generated + public String getBaseEntityGuid() { + return this.baseEntityGuid; + } + + /** + * Get the guidEntityMap property: The GUID entity map. + * + * @return the guidEntityMap value. + */ + @Generated + public Map getGuidEntityMap() { + return this.guidEntityMap; + } + + /** + * Get the widthCounts property: The entity count in specific direction. + * + * @return the widthCounts value. + */ + @Generated + public Map> getWidthCounts() { + return this.widthCounts; + } + + /** + * Get the lineageDepth property: The depth of lineage. + * + * @return the lineageDepth value. + */ + @Generated + public Integer getLineageDepth() { + return this.lineageDepth; + } + + /** + * Get the lineageWidth property: The width of lineage. + * + * @return the lineageWidth value. + */ + @Generated + public Integer getLineageWidth() { + return this.lineageWidth; + } + + /** + * Get the childrenCount property: The number of children node. + * + * @return the childrenCount value. + */ + @Generated + public Integer getChildrenCount() { + return this.childrenCount; + } + + /** + * Get the lineageDirection property: The enum of lineage direction. + * + * @return the lineageDirection value. + */ + @Generated + public LineageDirection getLineageDirection() { + return this.lineageDirection; + } + + /** + * Get the parentRelations property: An array of parentRelations relations. + * + * @return the parentRelations value. + */ + @Generated + public List getParentRelations() { + return this.parentRelations; + } + + /** + * Get the relations property: An array of lineage relations. + * + * @return the relations value. + */ + @Generated + public List getRelations() { + return this.relations; + } +} 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 new file mode 100644 index 0000000000000..117ada8ea012c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * Reference to an object-instance of a type - like entity. + */ +@Fluent +public final class AtlasObjectId { + /* + * 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; + + /** + * Creates an instance of AtlasObjectId class. + */ + @Generated + public AtlasObjectId() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the object. + * + * @param guid the guid value to set. + * @return the AtlasObjectId object itself. + */ + @Generated + public AtlasObjectId setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasObjectId object itself. + */ + @Generated + public AtlasObjectId setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the uniqueAttributes property: The unique attributes of the object. + * + * @return the uniqueAttributes value. + */ + @Generated + public Map getUniqueAttributes() { + return this.uniqueAttributes; + } + + /** + * Set the uniqueAttributes property: The unique attributes of the object. + * + * @param uniqueAttributes the uniqueAttributes value to set. + * @return the AtlasObjectId object itself. + */ + @Generated + public AtlasObjectId setUniqueAttributes(Map uniqueAttributes) { + this.uniqueAttributes = uniqueAttributes; + return this; + } +} 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 new file mode 100644 index 0000000000000..fc86521ecb007 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java @@ -0,0 +1,167 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The header of the related category. + */ +@Fluent +public final class AtlasRelatedCategoryHeader { + /* + * 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; + + /** + * Creates an instance of AtlasRelatedCategoryHeader class. + */ + @Generated + public AtlasRelatedCategoryHeader() { + } + + /** + * Get the categoryGuid property: The GUID of the category. + * + * @return the categoryGuid value. + */ + @Generated + public String getCategoryGuid() { + return this.categoryGuid; + } + + /** + * Set the categoryGuid property: The GUID of the category. + * + * @param categoryGuid the categoryGuid value to set. + * @return the AtlasRelatedCategoryHeader object itself. + */ + @Generated + public AtlasRelatedCategoryHeader setCategoryGuid(String categoryGuid) { + this.categoryGuid = categoryGuid; + return this; + } + + /** + * Get the description property: The description of the category header. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the category header. + * + * @param description the description value to set. + * @return the AtlasRelatedCategoryHeader object itself. + */ + @Generated + public AtlasRelatedCategoryHeader setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasRelatedCategoryHeader object itself. + */ + @Generated + public AtlasRelatedCategoryHeader setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the parentCategoryGuid property: The GUID of the parent category. + * + * @return the parentCategoryGuid value. + */ + @Generated + public String getParentCategoryGuid() { + return this.parentCategoryGuid; + } + + /** + * Set the parentCategoryGuid property: The GUID of the parent category. + * + * @param parentCategoryGuid the parentCategoryGuid value to set. + * @return the AtlasRelatedCategoryHeader object itself. + */ + @Generated + public AtlasRelatedCategoryHeader setParentCategoryGuid(String parentCategoryGuid) { + this.parentCategoryGuid = parentCategoryGuid; + return this; + } + + /** + * Get the relationGuid property: The GUID of the relationship. + * + * @return the relationGuid value. + */ + @Generated + public String getRelationGuid() { + return this.relationGuid; + } + + /** + * Set the relationGuid property: The GUID of the relationship. + * + * @param relationGuid the relationGuid value to set. + * @return the AtlasRelatedCategoryHeader object itself. + */ + @Generated + public AtlasRelatedCategoryHeader setRelationGuid(String relationGuid) { + this.relationGuid = relationGuid; + return this; + } +} 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 new file mode 100644 index 0000000000000..e0e7e09268d2d --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java @@ -0,0 +1,293 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * Reference to an object-instance of AtlasEntity type used in relationship + * attribute values. + */ +@Fluent +public final class AtlasRelatedObjectId { + /* + * 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; + + /* + * Status of the entity - can be active or deleted. Deleted entities are not + * removed. + */ + @Generated + @JsonProperty(value = "entityStatus") + private EntityStatus entityStatus; + + /* + * Relationship type + */ + @Generated + @JsonProperty(value = "relationshipType") + private String relationshipType; + + /* + * Captures details of struct contents. Not instantiated directly, used only via + * 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; + + /** + * Creates an instance of AtlasRelatedObjectId class. + */ + @Generated + public AtlasRelatedObjectId() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the object. + * + * @param guid the guid value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the uniqueAttributes property: The unique attributes of the object. + * + * @return the uniqueAttributes value. + */ + @Generated + public Map getUniqueAttributes() { + return this.uniqueAttributes; + } + + /** + * Set the uniqueAttributes property: The unique attributes of the object. + * + * @param uniqueAttributes the uniqueAttributes value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setUniqueAttributes(Map uniqueAttributes) { + this.uniqueAttributes = uniqueAttributes; + return this; + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the entityStatus property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @return the entityStatus value. + */ + @Generated + public EntityStatus getEntityStatus() { + return this.entityStatus; + } + + /** + * Set the entityStatus property: Status of the entity - can be active or deleted. Deleted entities are not + * removed. + * + * @param entityStatus the entityStatus value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setEntityStatus(EntityStatus entityStatus) { + this.entityStatus = entityStatus; + return this; + } + + /** + * Get the relationshipType property: Relationship type. + * + * @return the relationshipType value. + */ + @Generated + public String getRelationshipType() { + return this.relationshipType; + } + + /** + * Set the relationshipType property: Relationship type. + * + * @param relationshipType the relationshipType value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setRelationshipType(String relationshipType) { + this.relationshipType = relationshipType; + return this; + } + + /** + * Get the relationshipAttributes property: Captures details of struct contents. Not instantiated directly, used + * only via + * AtlasEntity, AtlasClassification. + * + * @return the relationshipAttributes value. + */ + @Generated + public AtlasStruct getRelationshipAttributes() { + return this.relationshipAttributes; + } + + /** + * Set the relationshipAttributes property: Captures details of struct contents. Not instantiated directly, used + * only via + * AtlasEntity, AtlasClassification. + * + * @param relationshipAttributes the relationshipAttributes value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setRelationshipAttributes(AtlasStruct relationshipAttributes) { + this.relationshipAttributes = relationshipAttributes; + return this; + } + + /** + * Get the relationshipGuid property: The GUID of the relationship. + * + * @return the relationshipGuid value. + */ + @Generated + public String getRelationshipGuid() { + return this.relationshipGuid; + } + + /** + * Set the relationshipGuid property: The GUID of the relationship. + * + * @param relationshipGuid the relationshipGuid value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setRelationshipGuid(String relationshipGuid) { + this.relationshipGuid = relationshipGuid; + return this; + } + + /** + * Get the relationshipStatus property: The enum of relationship status. + * + * @return the relationshipStatus value. + */ + @Generated + public StatusAtlasRelationship getRelationshipStatus() { + return this.relationshipStatus; + } + + /** + * Set the relationshipStatus property: The enum of relationship status. + * + * @param relationshipStatus the relationshipStatus value to set. + * @return the AtlasRelatedObjectId object itself. + */ + @Generated + public AtlasRelatedObjectId setRelationshipStatus(StatusAtlasRelationship relationshipStatus) { + this.relationshipStatus = relationshipStatus; + return this; + } +} 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 new file mode 100644 index 0000000000000..9712c4e31cb3e --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java @@ -0,0 +1,225 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The header of the related term. + */ +@Fluent +public final class AtlasRelatedTermHeader { + /* + * 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; + + /** + * Creates an instance of AtlasRelatedTermHeader class. + */ + @Generated + public AtlasRelatedTermHeader() { + } + + /** + * Get the description property: The description of the related term. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the related term. + * + * @param description the description value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the expression property: The expression of the term. + * + * @return the expression value. + */ + @Generated + public String getExpression() { + return this.expression; + } + + /** + * Set the expression property: The expression of the term. + * + * @param expression the expression value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setExpression(String expression) { + this.expression = expression; + return this; + } + + /** + * Get the relationGuid property: The GUID of the relationship. + * + * @return the relationGuid value. + */ + @Generated + public String getRelationGuid() { + return this.relationGuid; + } + + /** + * Set the relationGuid property: The GUID of the relationship. + * + * @param relationGuid the relationGuid value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setRelationGuid(String relationGuid) { + this.relationGuid = relationGuid; + return this; + } + + /** + * Get the status property: The status of term relationship. + * + * @return the status value. + */ + @Generated + public AtlasTermRelationshipStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of term relationship. + * + * @param status the status value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setStatus(AtlasTermRelationshipStatus status) { + this.status = status; + return this; + } + + /** + * Get the steward property: The steward of the term. + * + * @return the steward value. + */ + @Generated + public String getSteward() { + return this.steward; + } + + /** + * Set the steward property: The steward of the term. + * + * @param steward the steward value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setSteward(String steward) { + this.steward = steward; + return this; + } + + /** + * Get the termGuid property: The GUID of the term. + * + * @return the termGuid value. + */ + @Generated + public String getTermGuid() { + return this.termGuid; + } + + /** + * Set the termGuid property: The GUID of the term. + * + * @param termGuid the termGuid value to set. + * @return the AtlasRelatedTermHeader object itself. + */ + @Generated + public AtlasRelatedTermHeader setTermGuid(String termGuid) { + this.termGuid = termGuid; + return this; + } +} 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 new file mode 100644 index 0000000000000..f3dfa026a7ebe --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java @@ -0,0 +1,458 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * Atlas relationship instance. + */ +@Fluent +public final class AtlasRelationship { + /* + * 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; + + /** + * Creates an instance of AtlasRelationship class. + */ + @Generated + public AtlasRelationship() { + } + + /** + * Get the attributes property: The attributes of the struct. + * + * @return the attributes value. + */ + @Generated + public Map getAttributes() { + return this.attributes; + } + + /** + * Set the attributes property: The attributes of the struct. + * + * @param attributes the attributes value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setAttributes(Map attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the end1 property: Reference to an object-instance of a type - like entity. + * + * @return the end1 value. + */ + @Generated + public AtlasObjectId getEnd1() { + return this.end1; + } + + /** + * Set the end1 property: Reference to an object-instance of a type - like entity. + * + * @param end1 the end1 value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setEnd1(AtlasObjectId end1) { + this.end1 = end1; + return this; + } + + /** + * Get the end2 property: Reference to an object-instance of a type - like entity. + * + * @return the end2 value. + */ + @Generated + public AtlasObjectId getEnd2() { + return this.end2; + } + + /** + * Set the end2 property: Reference to an object-instance of a type - like entity. + * + * @param end2 the end2 value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setEnd2(AtlasObjectId end2) { + this.end2 = end2; + return this; + } + + /** + * Get the guid property: The GUID of the relationship. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the relationship. + * + * @param guid the guid value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the homeId property: The home ID of the relationship. + * + * @return the homeId value. + */ + @Generated + public String getHomeId() { + return this.homeId; + } + + /** + * Set the homeId property: The home ID of the relationship. + * + * @param homeId the homeId value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setHomeId(String homeId) { + this.homeId = homeId; + return this; + } + + /** + * Get the label property: The label of the relationship. + * + * @return the label value. + */ + @Generated + public String getLabel() { + return this.label; + } + + /** + * Set the label property: The label of the relationship. + * + * @param label the label value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setLabel(String label) { + this.label = label; + return this; + } + + /** + * Get the provenanceType property: Used to record the provenance of an instance of an entity or relationship. + * + * @return the provenanceType value. + */ + @Generated + public Integer getProvenanceType() { + return this.provenanceType; + } + + /** + * Set the provenanceType property: Used to record the provenance of an instance of an entity or relationship. + * + * @param provenanceType the provenanceType value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setProvenanceType(Integer provenanceType) { + this.provenanceType = provenanceType; + return this; + } + + /** + * Get the status property: The enum of relationship status. + * + * @return the status value. + */ + @Generated + public StatusAtlasRelationship getStatus() { + return this.status; + } + + /** + * Set the status property: The enum of relationship status. + * + * @param status the status value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setStatus(StatusAtlasRelationship status) { + this.status = status; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the relationship. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the relationship. + * + * @param version the version value to set. + * @return the AtlasRelationship object itself. + */ + @Generated + public AtlasRelationship setVersion(Long version) { + this.version = version; + return this; + } +} 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 new file mode 100644 index 0000000000000..ce7c80133683c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java @@ -0,0 +1,462 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * 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. + */ +@Fluent +public final class AtlasRelationshipAttributeDef { + /* + * 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; + + /** + * Creates an instance of AtlasRelationshipAttributeDef class. + */ + @Generated + public AtlasRelationshipAttributeDef() { + } + + /** + * Get the cardinality property: single-valued attribute or multi-valued attribute. + * + * @return the cardinality value. + */ + @Generated + public CardinalityValue getCardinality() { + return this.cardinality; + } + + /** + * Set the cardinality property: single-valued attribute or multi-valued attribute. + * + * @param cardinality the cardinality value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setCardinality(CardinalityValue cardinality) { + this.cardinality = cardinality; + return this; + } + + /** + * Get the constraints property: An array of constraints. + * + * @return the constraints value. + */ + @Generated + public List getConstraints() { + return this.constraints; + } + + /** + * Set the constraints property: An array of constraints. + * + * @param constraints the constraints value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setConstraints(List constraints) { + this.constraints = constraints; + return this; + } + + /** + * Get the defaultValue property: The default value of the attribute. + * + * @return the defaultValue value. + */ + @Generated + public String getDefaultValue() { + return this.defaultValue; + } + + /** + * Set the defaultValue property: The default value of the attribute. + * + * @param defaultValue the defaultValue value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setDefaultValue(String defaultValue) { + this.defaultValue = defaultValue; + return this; + } + + /** + * Get the description property: The description of the attribute. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the attribute. + * + * @param description the description value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the includeInNotification property: Determines if it is included in notification. + * + * @return the includeInNotification value. + */ + @Generated + public Boolean isIncludeInNotification() { + return this.includeInNotification; + } + + /** + * Set the includeInNotification property: Determines if it is included in notification. + * + * @param includeInNotification the includeInNotification value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setIncludeInNotification(Boolean includeInNotification) { + this.includeInNotification = includeInNotification; + return this; + } + + /** + * Get the isIndexable property: Determines if it is indexable. + * + * @return the isIndexable value. + */ + @Generated + public Boolean isIndexable() { + return this.isIndexable; + } + + /** + * Set the isIndexable property: Determines if it is indexable. + * + * @param isIndexable the isIndexable value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setIsIndexable(Boolean isIndexable) { + this.isIndexable = isIndexable; + return this; + } + + /** + * Get the isOptional property: Determines if it is optional. + * + * @return the isOptional value. + */ + @Generated + public Boolean isOptional() { + return this.isOptional; + } + + /** + * Set the isOptional property: Determines if it is optional. + * + * @param isOptional the isOptional value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setIsOptional(Boolean isOptional) { + this.isOptional = isOptional; + return this; + } + + /** + * Get the isUnique property: Determines if it unique. + * + * @return the isUnique value. + */ + @Generated + public Boolean isUnique() { + return this.isUnique; + } + + /** + * Set the isUnique property: Determines if it unique. + * + * @param isUnique the isUnique value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setIsUnique(Boolean isUnique) { + this.isUnique = isUnique; + return this; + } + + /** + * Get the name property: The name of the attribute. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the attribute. + * + * @param name the name value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the attribute. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the attribute. + * + * @param options the options value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the valuesMaxCount property: The maximum count of the values. + * + * @return the valuesMaxCount value. + */ + @Generated + public Integer getValuesMaxCount() { + return this.valuesMaxCount; + } + + /** + * Set the valuesMaxCount property: The maximum count of the values. + * + * @param valuesMaxCount the valuesMaxCount value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setValuesMaxCount(Integer valuesMaxCount) { + this.valuesMaxCount = valuesMaxCount; + return this; + } + + /** + * Get the valuesMinCount property: The minimum count of the values. + * + * @return the valuesMinCount value. + */ + @Generated + public Integer getValuesMinCount() { + return this.valuesMinCount; + } + + /** + * Set the valuesMinCount property: The minimum count of the values. + * + * @param valuesMinCount the valuesMinCount value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setValuesMinCount(Integer valuesMinCount) { + this.valuesMinCount = valuesMinCount; + return this; + } + + /** + * Get the isLegacyAttribute property: Determines if it is a legacy attribute. + * + * @return the isLegacyAttribute value. + */ + @Generated + public Boolean isLegacyAttribute() { + return this.isLegacyAttribute; + } + + /** + * Set the isLegacyAttribute property: Determines if it is a legacy attribute. + * + * @param isLegacyAttribute the isLegacyAttribute value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setIsLegacyAttribute(Boolean isLegacyAttribute) { + this.isLegacyAttribute = isLegacyAttribute; + return this; + } + + /** + * Get the relationshipTypeName property: The name of the relationship type. + * + * @return the relationshipTypeName value. + */ + @Generated + public String getRelationshipTypeName() { + return this.relationshipTypeName; + } + + /** + * Set the relationshipTypeName property: The name of the relationship type. + * + * @param relationshipTypeName the relationshipTypeName value to set. + * @return the AtlasRelationshipAttributeDef object itself. + */ + @Generated + public AtlasRelationshipAttributeDef setRelationshipTypeName(String relationshipTypeName) { + this.relationshipTypeName = relationshipTypeName; + return this; + } +} 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 new file mode 100644 index 0000000000000..29420109910fa --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java @@ -0,0 +1,651 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * AtlasRelationshipDef is a TypeDef that defines a relationship. + * As with other typeDefs the AtlasRelationshipDef has a name. Once created the + * RelationshipDef has a guid. + * The name and the guid are the 2 ways that the + * RelationshipDef is identified. + * RelationshipDefs have 2 ends, each of which + * specify cardinality, an EntityDef type name and name and optionally + * whether the + * end is a container. + * RelationshipDefs can have AttributeDefs - though only + * primitive types are allowed. + * RelationshipDefs have a relationshipCategory + * 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 + * will not specify an EntityDef type name as + * their types. + * RelationshipDefs introduce new attributes to the entity + * instances. For example + * EntityDef A might have attributes attr1,attr2,attr3 + * + * EntityDef B might have attributes attr4,attr5,attr6 + * RelationshipDef + * AtoB might define 2 ends + * + * 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 + * When an instance of EntityDef + * B is created, it will have attributes attr4,attr5,attr6,attr8 + * + * In this way + * relationshipDefs can be authored separately from entityDefs and can inject + * relationship attributes into + * the entity instances. + */ +@Fluent +public final class AtlasRelationshipDef { + /* + * 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. + */ + @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. + */ + @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. + * 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. + * 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; + + /** + * Creates an instance of AtlasRelationshipDef class. + */ + @Generated + public AtlasRelationshipDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } + + /** + * Set the attributeDefs property: An array of attribute definitions. + * + * @param attributeDefs the attributeDefs value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setAttributeDefs(List attributeDefs) { + this.attributeDefs = attributeDefs; + return this; + } + + /** + * 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. + * + * @return the endDef1 value. + */ + @Generated + public AtlasRelationshipEndDef getEndDef1() { + return this.endDef1; + } + + /** + * 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. + * + * @param endDef1 the endDef1 value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setEndDef1(AtlasRelationshipEndDef endDef1) { + this.endDef1 = endDef1; + return this; + } + + /** + * 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. + * + * @return the endDef2 value. + */ + @Generated + public AtlasRelationshipEndDef getEndDef2() { + return this.endDef2; + } + + /** + * 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. + * + * @param endDef2 the endDef2 value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setEndDef2(AtlasRelationshipEndDef endDef2) { + this.endDef2 = endDef2; + return this; + } + + /** + * 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. + * 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. + * For AGGREGATION, the life cycles of the container and children are totally independent. + * + * @return the relationshipCategory value. + */ + @Generated + public RelationshipCategory getRelationshipCategory() { + return this.relationshipCategory; + } + + /** + * 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. + * 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. + * For AGGREGATION, the life cycles of the container and children are totally independent. + * + * @param relationshipCategory the relationshipCategory value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setRelationshipCategory(RelationshipCategory relationshipCategory) { + this.relationshipCategory = relationshipCategory; + return this; + } + + /** + * Get the relationshipLabel property: The label of the relationship. + * + * @return the relationshipLabel value. + */ + @Generated + public String getRelationshipLabel() { + return this.relationshipLabel; + } + + /** + * Set the relationshipLabel property: The label of the relationship. + * + * @param relationshipLabel the relationshipLabel value to set. + * @return the AtlasRelationshipDef object itself. + */ + @Generated + public AtlasRelationshipDef setRelationshipLabel(String relationshipLabel) { + this.relationshipLabel = relationshipLabel; + return this; + } +} 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 new file mode 100644 index 0000000000000..ed3fb6af245ac --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java @@ -0,0 +1,199 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * 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. + */ +@Fluent +public final class AtlasRelationshipEndDef { + /* + * 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; + + /** + * Creates an instance of AtlasRelationshipEndDef class. + */ + @Generated + public AtlasRelationshipEndDef() { + } + + /** + * Get the cardinality property: single-valued attribute or multi-valued attribute. + * + * @return the cardinality value. + */ + @Generated + public CardinalityValue getCardinality() { + return this.cardinality; + } + + /** + * Set the cardinality property: single-valued attribute or multi-valued attribute. + * + * @param cardinality the cardinality value to set. + * @return the AtlasRelationshipEndDef object itself. + */ + @Generated + public AtlasRelationshipEndDef setCardinality(CardinalityValue cardinality) { + this.cardinality = cardinality; + return this; + } + + /** + * Get the description property: The description of the relationship end definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the relationship end definition. + * + * @param description the description value to set. + * @return the AtlasRelationshipEndDef object itself. + */ + @Generated + public AtlasRelationshipEndDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the isContainer property: Determines if it is container. + * + * @return the isContainer value. + */ + @Generated + public Boolean isContainer() { + return this.isContainer; + } + + /** + * Set the isContainer property: Determines if it is container. + * + * @param isContainer the isContainer value to set. + * @return the AtlasRelationshipEndDef object itself. + */ + @Generated + public AtlasRelationshipEndDef setIsContainer(Boolean isContainer) { + this.isContainer = isContainer; + return this; + } + + /** + * Get the isLegacyAttribute property: Determines if it is a legacy attribute. + * + * @return the isLegacyAttribute value. + */ + @Generated + public Boolean isLegacyAttribute() { + return this.isLegacyAttribute; + } + + /** + * Set the isLegacyAttribute property: Determines if it is a legacy attribute. + * + * @param isLegacyAttribute the isLegacyAttribute value to set. + * @return the AtlasRelationshipEndDef object itself. + */ + @Generated + public AtlasRelationshipEndDef setIsLegacyAttribute(Boolean isLegacyAttribute) { + this.isLegacyAttribute = isLegacyAttribute; + return this; + } + + /** + * Get the name property: The name of the relationship end definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the relationship end definition. + * + * @param name the name value to set. + * @return the AtlasRelationshipEndDef object itself. + */ + @Generated + public AtlasRelationshipEndDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the type property: The type of the relationship end. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Set the type property: The type of the relationship end. + * + * @param type the type value to set. + * @return the AtlasRelationshipEndDef object itself. + */ + @Generated + public AtlasRelationshipEndDef setType(String type) { + this.type = type; + return this; + } +} 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 new file mode 100644 index 0000000000000..400e199b0d9f6 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * The relationship with extended information. + */ +@Immutable +public final class AtlasRelationshipWithExtInfo { + /* + * The referred entity header. + */ + @Generated + @JsonProperty(value = "referredEntities") + private Map referredEntities; + + /* + * Atlas relationship instance. + */ + @Generated + @JsonProperty(value = "relationship") + private AtlasRelationship relationship; + + /** + * Creates an instance of AtlasRelationshipWithExtInfo class. + */ + @Generated + private AtlasRelationshipWithExtInfo() { + } + + /** + * Get the referredEntities property: The referred entity header. + * + * @return the referredEntities value. + */ + @Generated + public Map getReferredEntities() { + return this.referredEntities; + } + + /** + * Get the relationship property: Atlas relationship instance. + * + * @return the relationship value. + */ + @Generated + public AtlasRelationship getRelationship() { + return this.relationship; + } +} 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 new file mode 100644 index 0000000000000..fbdab722d129c --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * Captures details of struct contents. Not instantiated directly, used only via + * AtlasEntity, AtlasClassification. + */ +@Fluent +public final class AtlasStruct { + /* + * 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; + + /** + * Creates an instance of AtlasStruct class. + */ + @Generated + public AtlasStruct() { + } + + /** + * Get the attributes property: The attributes of the struct. + * + * @return the attributes value. + */ + @Generated + public Map getAttributes() { + return this.attributes; + } + + /** + * Set the attributes property: The attributes of the struct. + * + * @param attributes the attributes value to set. + * @return the AtlasStruct object itself. + */ + @Generated + public AtlasStruct setAttributes(Map attributes) { + this.attributes = attributes; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the AtlasStruct object itself. + */ + @Generated + public AtlasStruct setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasStruct object itself. + */ + @Generated + public AtlasStruct setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } +} 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 new file mode 100644 index 0000000000000..34ab01c96b588 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java @@ -0,0 +1,459 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * class that captures details of a struct-type. + */ +@Fluent +public final class AtlasStructDef { + /* + * 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; + + /** + * Creates an instance of AtlasStructDef class. + */ + @Generated + public AtlasStructDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } + + /** + * Set the attributeDefs property: An array of attribute definitions. + * + * @param attributeDefs the attributeDefs value to set. + * @return the AtlasStructDef object itself. + */ + @Generated + public AtlasStructDef setAttributeDefs(List attributeDefs) { + this.attributeDefs = attributeDefs; + return this; + } +} 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 new file mode 100644 index 0000000000000..e5263fa4a3623 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java @@ -0,0 +1,283 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The header for term assignment. + */ +@Fluent +public final class AtlasTermAssignmentHeader { + /* + * 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; + + /** + * Creates an instance of AtlasTermAssignmentHeader class. + */ + @Generated + public AtlasTermAssignmentHeader() { + } + + /** + * Get the confidence property: The confidence of the term assignment. + * + * @return the confidence value. + */ + @Generated + public Integer getConfidence() { + return this.confidence; + } + + /** + * Set the confidence property: The confidence of the term assignment. + * + * @param confidence the confidence value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setConfidence(Integer confidence) { + this.confidence = confidence; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the description property: The description of the term assignment. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the term assignment. + * + * @param description the description value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the expression property: The expression of the term assignment. + * + * @return the expression value. + */ + @Generated + public String getExpression() { + return this.expression; + } + + /** + * Set the expression property: The expression of the term assignment. + * + * @param expression the expression value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setExpression(String expression) { + this.expression = expression; + return this; + } + + /** + * Get the relationGuid property: The GUID of the relationship. + * + * @return the relationGuid value. + */ + @Generated + public String getRelationGuid() { + return this.relationGuid; + } + + /** + * Set the relationGuid property: The GUID of the relationship. + * + * @param relationGuid the relationGuid value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setRelationGuid(String relationGuid) { + this.relationGuid = relationGuid; + return this; + } + + /** + * Get the status property: The status of terms assignment. + * + * @return the status value. + */ + @Generated + public AtlasTermAssignmentStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of terms assignment. + * + * @param status the status value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setStatus(AtlasTermAssignmentStatus status) { + this.status = status; + return this; + } + + /** + * Get the steward property: The steward of the term. + * + * @return the steward value. + */ + @Generated + public String getSteward() { + return this.steward; + } + + /** + * Set the steward property: The steward of the term. + * + * @param steward the steward value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setSteward(String steward) { + this.steward = steward; + return this; + } + + /** + * Get the termGuid property: The GUID of the term. + * + * @return the termGuid value. + */ + @Generated + public String getTermGuid() { + return this.termGuid; + } + + /** + * Set the termGuid property: The GUID of the term. + * + * @param termGuid the termGuid value to set. + * @return the AtlasTermAssignmentHeader object itself. + */ + @Generated + public AtlasTermAssignmentHeader setTermGuid(String termGuid) { + this.termGuid = termGuid; + return this; + } +} 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 new file mode 100644 index 0000000000000..52e314da85003 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java @@ -0,0 +1,89 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Status for term assignment. + */ +public final class AtlasTermAssignmentStatus extends ExpandableStringEnum { + /** + * The status is discovered. + */ + @Generated + public static final AtlasTermAssignmentStatus DISCOVERED = fromString("DISCOVERED"); + + /** + * The status is proposed. + */ + @Generated + public static final AtlasTermAssignmentStatus PROPOSED = fromString("PROPOSED"); + + /** + * The status is imported. + */ + @Generated + public static final AtlasTermAssignmentStatus IMPORTED = fromString("IMPORTED"); + + /** + * The status is validated. + */ + @Generated + public static final AtlasTermAssignmentStatus VALIDATED = fromString("VALIDATED"); + + /** + * The status is deprecated. + */ + @Generated + public static final AtlasTermAssignmentStatus DEPRECATED = fromString("DEPRECATED"); + + /** + * The status is obsolete. + */ + @Generated + public static final AtlasTermAssignmentStatus OBSOLETE = fromString("OBSOLETE"); + + /** + * Other status. + */ + @Generated + public static final AtlasTermAssignmentStatus OTHER = fromString("OTHER"); + + /** + * Creates a new instance of AtlasTermAssignmentStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public AtlasTermAssignmentStatus() { + } + + /** + * Creates or finds a AtlasTermAssignmentStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AtlasTermAssignmentStatus. + */ + @Generated + @JsonCreator + public static AtlasTermAssignmentStatus fromString(String name) { + return fromString(name, AtlasTermAssignmentStatus.class); + } + + /** + * Gets known AtlasTermAssignmentStatus values. + * + * @return known AtlasTermAssignmentStatus values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..ff1c38d4f6811 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java @@ -0,0 +1,167 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The basic information for term categorization. + */ +@Fluent +public final class AtlasTermCategorizationHeader { + /* + * 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; + + /** + * Creates an instance of AtlasTermCategorizationHeader class. + */ + @Generated + public AtlasTermCategorizationHeader() { + } + + /** + * Get the categoryGuid property: The GUID of the category. + * + * @return the categoryGuid value. + */ + @Generated + public String getCategoryGuid() { + return this.categoryGuid; + } + + /** + * Set the categoryGuid property: The GUID of the category. + * + * @param categoryGuid the categoryGuid value to set. + * @return the AtlasTermCategorizationHeader object itself. + */ + @Generated + public AtlasTermCategorizationHeader setCategoryGuid(String categoryGuid) { + this.categoryGuid = categoryGuid; + return this; + } + + /** + * Get the description property: The description of the record. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the record. + * + * @param description the description value to set. + * @return the AtlasTermCategorizationHeader object itself. + */ + @Generated + public AtlasTermCategorizationHeader setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the displayText property: The display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: The display text. + * + * @param displayText the displayText value to set. + * @return the AtlasTermCategorizationHeader object itself. + */ + @Generated + public AtlasTermCategorizationHeader setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the relationGuid property: The GUID of the relationship. + * + * @return the relationGuid value. + */ + @Generated + public String getRelationGuid() { + return this.relationGuid; + } + + /** + * Set the relationGuid property: The GUID of the relationship. + * + * @param relationGuid the relationGuid value to set. + * @return the AtlasTermCategorizationHeader object itself. + */ + @Generated + public AtlasTermCategorizationHeader setRelationGuid(String relationGuid) { + this.relationGuid = relationGuid; + return this; + } + + /** + * Get the status property: The status of term relationship. + * + * @return the status value. + */ + @Generated + public AtlasTermRelationshipStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of term relationship. + * + * @param status the status value to set. + * @return the AtlasTermCategorizationHeader object itself. + */ + @Generated + public AtlasTermCategorizationHeader setStatus(AtlasTermRelationshipStatus status) { + this.status = status; + return this; + } +} 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 new file mode 100644 index 0000000000000..b0562345144cc --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Status for atlas term relationship. + */ +public final class AtlasTermRelationshipStatus extends ExpandableStringEnum { + /** + * draft. + */ + @Generated + public static final AtlasTermRelationshipStatus DRAFT = fromString("DRAFT"); + + /** + * active. + */ + @Generated + public static final AtlasTermRelationshipStatus ACTIVE = fromString("ACTIVE"); + + /** + * deprecated. + */ + @Generated + public static final AtlasTermRelationshipStatus DEPRECATED = fromString("DEPRECATED"); + + /** + * obsolete. + */ + @Generated + public static final AtlasTermRelationshipStatus OBSOLETE = fromString("OBSOLETE"); + + /** + * other. + */ + @Generated + public static final AtlasTermRelationshipStatus OTHER = fromString("OTHER"); + + /** + * Creates a new instance of AtlasTermRelationshipStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public AtlasTermRelationshipStatus() { + } + + /** + * Creates or finds a AtlasTermRelationshipStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AtlasTermRelationshipStatus. + */ + @Generated + @JsonCreator + public static AtlasTermRelationshipStatus fromString(String name) { + return fromString(name, AtlasTermRelationshipStatus.class); + } + + /** + * Gets known AtlasTermRelationshipStatus values. + * + * @return known AtlasTermRelationshipStatus values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..1d7e7d18f9970 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java @@ -0,0 +1,520 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * The definitions of type. + */ +@Immutable +public final class AtlasTypeDef { + /* + * 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; + + /* + * Specifying a list of entityType names in the classificationDef, ensures that + * classifications can + * only be applied to those entityTypes. + * + * Any subtypes of the entity types inherit the restriction. + * + * Any classificationDef subtypes inherit the parents entityTypes restrictions. + * + * Any classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes. + * + * An empty entityTypes list when there are no parent restrictions means there are no + * restrictions. + * + * An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions. + * + * If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs. + * + */ + @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. + */ + @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. + */ + @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. + * 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. + * 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; + + /** + * Creates an instance of AtlasTypeDef class. + */ + @Generated + private AtlasTypeDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Get the entityTypes property: Specifying a list of entityType names in the classificationDef, ensures that + * classifications can + * only be applied to those entityTypes. + * + * Any subtypes of the entity types inherit the restriction. + * + * Any classificationDef subtypes inherit the parents entityTypes restrictions. + * + * Any classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes. + * + * An empty entityTypes list when there are no parent restrictions means there are no + * restrictions. + * + * An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions. + * + * If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs. + * + * @return the entityTypes value. + */ + @Generated + public List getEntityTypes() { + return this.entityTypes; + } + + /** + * Get the subTypes property: An array of sub types. + * + * @return the subTypes value. + */ + @Generated + public List getSubTypes() { + return this.subTypes; + } + + /** + * Get the superTypes property: An array of super types. + * + * @return the superTypes value. + */ + @Generated + public List getSuperTypes() { + return this.superTypes; + } + + /** + * Get the relationshipAttributeDefs property: An array of relationship attributes. + * + * @return the relationshipAttributeDefs value. + */ + @Generated + public List getRelationshipAttributeDefs() { + return this.relationshipAttributeDefs; + } + + /** + * Get the defaultValue property: The default value. + * + * @return the defaultValue value. + */ + @Generated + public String getDefaultValue() { + return this.defaultValue; + } + + /** + * Get the elementDefs property: An array of enum element definitions. + * + * @return the elementDefs value. + */ + @Generated + public List getElementDefs() { + return this.elementDefs; + } + + /** + * 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. + * + * @return the endDef1 value. + */ + @Generated + public AtlasRelationshipEndDef getEndDef1() { + return this.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. + * + * @return the endDef2 value. + */ + @Generated + public AtlasRelationshipEndDef getEndDef2() { + return this.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. + * 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. + * For AGGREGATION, the life cycles of the container and children are totally independent. + * + * @return the relationshipCategory value. + */ + @Generated + public RelationshipCategory getRelationshipCategory() { + return this.relationshipCategory; + } + + /** + * Get the relationshipLabel property: The label of the relationship. + * + * @return the relationshipLabel value. + */ + @Generated + public String getRelationshipLabel() { + return this.relationshipLabel; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } +} 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 new file mode 100644 index 0000000000000..34cd050ef63e9 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDefHeader.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The basic information of the type definition. + */ +@Immutable +public final class AtlasTypeDefHeader { + /* + * 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; + + /** + * Creates an instance of AtlasTypeDefHeader class. + */ + @Generated + private AtlasTypeDefHeader() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } +} 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 new file mode 100644 index 0000000000000..f75b2e10fe7be --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java @@ -0,0 +1,226 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The definitions of types. + */ +@Fluent +public final class AtlasTypesDef { + /* + * 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; + + /** + * Creates an instance of AtlasTypesDef class. + */ + @Generated + public AtlasTypesDef() { + } + + /** + * Get the businessMetadataDefs property: businessMetadataDefs. + * + * @return the businessMetadataDefs value. + */ + @Generated + public List getBusinessMetadataDefs() { + return this.businessMetadataDefs; + } + + /** + * Set the businessMetadataDefs property: businessMetadataDefs. + * + * @param businessMetadataDefs the businessMetadataDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setBusinessMetadataDefs(List businessMetadataDefs) { + this.businessMetadataDefs = businessMetadataDefs; + return this; + } + + /** + * Get the classificationDefs property: An array of classification definitions. + * + * @return the classificationDefs value. + */ + @Generated + public List getClassificationDefs() { + return this.classificationDefs; + } + + /** + * Set the classificationDefs property: An array of classification definitions. + * + * @param classificationDefs the classificationDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setClassificationDefs(List classificationDefs) { + this.classificationDefs = classificationDefs; + return this; + } + + /** + * Get the entityDefs property: An array of entity definitions. + * + * @return the entityDefs value. + */ + @Generated + public List getEntityDefs() { + return this.entityDefs; + } + + /** + * Set the entityDefs property: An array of entity definitions. + * + * @param entityDefs the entityDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setEntityDefs(List entityDefs) { + this.entityDefs = entityDefs; + return this; + } + + /** + * Get the enumDefs property: An array of enum definitions. + * + * @return the enumDefs value. + */ + @Generated + public List getEnumDefs() { + return this.enumDefs; + } + + /** + * Set the enumDefs property: An array of enum definitions. + * + * @param enumDefs the enumDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setEnumDefs(List enumDefs) { + this.enumDefs = enumDefs; + return this; + } + + /** + * Get the relationshipDefs property: An array of relationship definitions. + * + * @return the relationshipDefs value. + */ + @Generated + public List getRelationshipDefs() { + return this.relationshipDefs; + } + + /** + * Set the relationshipDefs property: An array of relationship definitions. + * + * @param relationshipDefs the relationshipDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setRelationshipDefs(List relationshipDefs) { + this.relationshipDefs = relationshipDefs; + return this; + } + + /** + * Get the structDefs property: An array of struct definitions. + * + * @return the structDefs value. + */ + @Generated + public List getStructDefs() { + return this.structDefs; + } + + /** + * Set the structDefs property: An array of struct definitions. + * + * @param structDefs the structDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setStructDefs(List structDefs) { + this.structDefs = structDefs; + return this; + } + + /** + * Get the termTemplateDefs property: An array of term template definitions. + * + * @return the termTemplateDefs value. + */ + @Generated + public List getTermTemplateDefs() { + return this.termTemplateDefs; + } + + /** + * Set the termTemplateDefs property: An array of term template definitions. + * + * @param termTemplateDefs the termTemplateDefs value to set. + * @return the AtlasTypesDef object itself. + */ + @Generated + public AtlasTypesDef setTermTemplateDefs(List termTemplateDefs) { + this.termTemplateDefs = termTemplateDefs; + return this; + } +} 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 new file mode 100644 index 0000000000000..e66aafd55363f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteOptions.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The payload of autocomplete request. + */ +@Fluent +public final class AutoCompleteOptions { + /* + * 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; + + /* + * The number of autocomplete results we hope to return. The default value is 50. + * 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; + + /** + * Creates an instance of AutoCompleteOptions class. + */ + @Generated + public AutoCompleteOptions() { + } + + /** + * Get the keywords property: The keywords applied to all fields that support autocomplete operation. It must + * be at least 1 character, and no more than 100 characters. + * + * @return the keywords value. + */ + @Generated + public String getKeywords() { + return this.keywords; + } + + /** + * Set the keywords property: The keywords applied to all fields that support autocomplete operation. It must + * be at least 1 character, and no more than 100 characters. + * + * @param keywords the keywords value to set. + * @return the AutoCompleteOptions object itself. + */ + @Generated + public AutoCompleteOptions setKeywords(String keywords) { + this.keywords = keywords; + return this; + } + + /** + * Get the limit property: The number of autocomplete results we hope to return. The default value is 50. + * The value must be a number between 1 and 100. + * + * @return the limit value. + */ + @Generated + public Integer getLimit() { + return this.limit; + } + + /** + * Set the limit property: The number of autocomplete results we hope to return. The default value is 50. + * The value must be a number between 1 and 100. + * + * @param limit the limit value to set. + * @return the AutoCompleteOptions object itself. + */ + @Generated + public AutoCompleteOptions setLimit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * Get the filter property: The filter for the autocomplete request. + * + * @return the filter value. + */ + @Generated + public Object getFilter() { + return this.filter; + } + + /** + * Set the filter property: The filter for the autocomplete request. + * + * @param filter the filter value to set. + * @return the AutoCompleteOptions object itself. + */ + @Generated + public AutoCompleteOptions setFilter(Object filter) { + this.filter = filter; + return this; + } +} 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 new file mode 100644 index 0000000000000..5873227d5f303 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The result of the autocomplete request. + */ +@Immutable +public final class AutoCompleteResult { + /* + * The result value + */ + @Generated + @JsonProperty(value = "value") + private List value; + + /** + * Creates an instance of AutoCompleteResult class. + */ + @Generated + private AutoCompleteResult() { + } + + /** + * Get the value property: The result value. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } +} 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 new file mode 100644 index 0000000000000..7f110d8012e3f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The value item of the autocomplete suggest. + */ +@Immutable +public final class AutoCompleteResultValue { + /* + * The completed term or phrase. + */ + @Generated + @JsonProperty(value = "text") + private String text; + + /* + * The completed search query text. + */ + @Generated + @JsonProperty(value = "queryPlusText") + private String queryPlusText; + + /** + * Creates an instance of AutoCompleteResultValue class. + */ + @Generated + private AutoCompleteResultValue() { + } + + /** + * Get the text property: The completed term or phrase. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the queryPlusText property: The completed search query text. + * + * @return the queryPlusText value. + */ + @Generated + public String getQueryPlusText() { + return this.queryPlusText; + } +} 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 new file mode 100644 index 0000000000000..aeac6057137ba --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResult.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Bulk import result. + */ +@Immutable +public final class BulkImportResult { + /* + * failed importInfoList + */ + @Generated + @JsonProperty(value = "failedImportInfoList") + private List failedImportInfoList; + + /* + * successful importInfoList + */ + @Generated + @JsonProperty(value = "successImportInfoList") + private List successImportInfoList; + + /** + * Creates an instance of BulkImportResult class. + */ + @Generated + private BulkImportResult() { + } + + /** + * Get the failedImportInfoList property: failed importInfoList. + * + * @return the failedImportInfoList value. + */ + @Generated + public List getFailedImportInfoList() { + return this.failedImportInfoList; + } + + /** + * Get the successImportInfoList property: successful importInfoList. + * + * @return the successImportInfoList value. + */ + @Generated + public List getSuccessImportInfoList() { + return this.successImportInfoList; + } +} 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 new file mode 100644 index 0000000000000..cd435ebc6bbe3 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Enum for business attribute update behavior. + */ +public final class BusinessAttributeUpdateBehavior extends ExpandableStringEnum { + /** + * Ignore the business attribute payload for update. + */ + @Generated + public static final BusinessAttributeUpdateBehavior IGNORE = fromString("ignore"); + + /** + * Replace all the business attributes using the payload. + */ + @Generated + public static final BusinessAttributeUpdateBehavior REPLACE = fromString("replace"); + + /** + * Merge the business attributes. Business attributes will not be updated if not provided. + */ + @Generated + public static final BusinessAttributeUpdateBehavior MERGE = fromString("merge"); + + /** + * Creates a new instance of BusinessAttributeUpdateBehavior value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public BusinessAttributeUpdateBehavior() { + } + + /** + * Creates or finds a BusinessAttributeUpdateBehavior from its string representation. + * + * @param name a name to look for. + * @return the corresponding BusinessAttributeUpdateBehavior. + */ + @Generated + @JsonCreator + public static BusinessAttributeUpdateBehavior fromString(String name) { + return fromString(name, BusinessAttributeUpdateBehavior.class); + } + + /** + * Gets known BusinessAttributeUpdateBehavior values. + * + * @return known BusinessAttributeUpdateBehavior values. + */ + @Generated + public static Collection values() { + return values(BusinessAttributeUpdateBehavior.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 new file mode 100644 index 0000000000000..4c4562ca89ba0 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/CardinalityValue.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Cardinality. + */ +public final class CardinalityValue extends ExpandableStringEnum { + /** + * single. + */ + @Generated + public static final CardinalityValue SINGLE = fromString("SINGLE"); + + /** + * list. + */ + @Generated + public static final CardinalityValue LIST = fromString("LIST"); + + /** + * set. + */ + @Generated + public static final CardinalityValue SET = fromString("SET"); + + /** + * Creates a new instance of CardinalityValue value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public CardinalityValue() { + } + + /** + * Creates or finds a CardinalityValue from its string representation. + * + * @param name a name to look for. + * @return the corresponding CardinalityValue. + */ + @Generated + @JsonCreator + public static CardinalityValue fromString(String name) { + return fromString(name, CardinalityValue.class); + } + + /** + * Gets known CardinalityValue values. + * + * @return known CardinalityValue values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..0e9e03f21666d --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateOptions.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The request payload for classification association. + */ +@Fluent +public final class ClassificationAssociateOptions { + /* + * 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; + + /** + * Creates an instance of ClassificationAssociateOptions class. + */ + @Generated + public ClassificationAssociateOptions() { + } + + /** + * Get the classification property: An instance of a classification; it doesn't have an identity, this object + * exists only when associated with an entity. + * + * @return the classification value. + */ + @Generated + public AtlasClassification getClassification() { + return this.classification; + } + + /** + * Set the classification property: An instance of a classification; it doesn't have an identity, this object + * exists only when associated with an entity. + * + * @param classification the classification value to set. + * @return the ClassificationAssociateOptions object itself. + */ + @Generated + public ClassificationAssociateOptions setClassification(AtlasClassification classification) { + this.classification = classification; + return this; + } + + /** + * Get the entityGuids property: The GUID of the entity. + * + * @return the entityGuids value. + */ + @Generated + public List getEntityGuids() { + return this.entityGuids; + } + + /** + * Set the entityGuids property: The GUID of the entity. + * + * @param entityGuids the entityGuids value to set. + * @return the ClassificationAssociateOptions object itself. + */ + @Generated + public ClassificationAssociateOptions setEntityGuids(List entityGuids) { + this.entityGuids = entityGuids; + return this; + } +} 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 new file mode 100644 index 0000000000000..58ff3f638c1ea --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactInfo.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * ContactInfo. + */ +@Fluent +public final class ContactInfo { + /* + * 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; + + /** + * Creates an instance of ContactInfo class. + */ + @Generated + public ContactInfo() { + } + + /** + * Get the id property: Azure Active Directory object Id. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: Azure Active Directory object Id. + * + * @param id the id value to set. + * @return the ContactInfo object itself. + */ + @Generated + public ContactInfo setId(String id) { + this.id = id; + return this; + } + + /** + * Get the info property: additional information to describe this contact. + * + * @return the info value. + */ + @Generated + public String getInfo() { + return this.info; + } + + /** + * Set the info property: additional information to describe this contact. + * + * @param info the info value to set. + * @return the ContactInfo object itself. + */ + @Generated + public ContactInfo setInfo(String info) { + this.info = info; + return this; + } +} 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 new file mode 100644 index 0000000000000..94147092d290f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The contact in the search and suggest result. + */ +@Immutable +public final class ContactSearchResultValue { + /* + * The GUID of the contact. + */ + @Generated + @JsonProperty(value = "id") + private String id; + + /* + * The description of the contact. + */ + @Generated + @JsonProperty(value = "info") + private String info; + + /* + * The type of the contact. It can be Expert or Owner for an entity. It can be + * Expert or Steward for a glossary term. + */ + @Generated + @JsonProperty(value = "contactType") + private String contactType; + + /** + * Creates an instance of ContactSearchResultValue class. + */ + @Generated + private ContactSearchResultValue() { + } + + /** + * Get the id property: The GUID of the contact. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the info property: The description of the contact. + * + * @return the info value. + */ + @Generated + public String getInfo() { + return this.info; + } + + /** + * Get the contactType property: The type of the contact. It can be Expert or Owner for an entity. It can be + * Expert or Steward for a glossary term. + * + * @return the contactType value. + */ + @Generated + public String getContactType() { + return this.contactType; + } +} 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 new file mode 100644 index 0000000000000..6da1936ff73c7 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java @@ -0,0 +1,284 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The date format. + */ +@Fluent +public final class DateFormat { + /* + * 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; + + /** + * Creates an instance of DateFormat class. + */ + @Generated + public DateFormat() { + } + + /** + * Get the availableLocales property: An array of available locales. + * + * @return the availableLocales value. + */ + @Generated + public List getAvailableLocales() { + return this.availableLocales; + } + + /** + * Set the availableLocales property: An array of available locales. + * + * @param availableLocales the availableLocales value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setAvailableLocales(List availableLocales) { + this.availableLocales = availableLocales; + return this; + } + + /** + * Get the calendar property: Calendar. + * + * @return the calendar value. + */ + @Generated + public Double getCalendar() { + return this.calendar; + } + + /** + * Set the calendar property: Calendar. + * + * @param calendar the calendar value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setCalendar(Double calendar) { + this.calendar = calendar; + return this; + } + + /** + * Get the dateInstance property: The date format. + * + * @return the dateInstance value. + */ + @Generated + public DateFormat getDateInstance() { + return this.dateInstance; + } + + /** + * Set the dateInstance property: The date format. + * + * @param dateInstance the dateInstance value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setDateInstance(DateFormat dateInstance) { + this.dateInstance = dateInstance; + return this; + } + + /** + * Get the dateTimeInstance property: The date format. + * + * @return the dateTimeInstance value. + */ + @Generated + public DateFormat getDateTimeInstance() { + return this.dateTimeInstance; + } + + /** + * Set the dateTimeInstance property: The date format. + * + * @param dateTimeInstance the dateTimeInstance value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setDateTimeInstance(DateFormat dateTimeInstance) { + this.dateTimeInstance = dateTimeInstance; + return this; + } + + /** + * Get the instance property: The date format. + * + * @return the instance value. + */ + @Generated + public DateFormat getInstance() { + return this.instance; + } + + /** + * Set the instance property: The date format. + * + * @param instance the instance value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setInstance(DateFormat instance) { + this.instance = instance; + return this; + } + + /** + * Get the lenient property: Determines the leniency of the date format. + * + * @return the lenient value. + */ + @Generated + public Boolean isLenient() { + return this.lenient; + } + + /** + * Set the lenient property: Determines the leniency of the date format. + * + * @param lenient the lenient value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setLenient(Boolean lenient) { + this.lenient = lenient; + return this; + } + + /** + * Get the numberFormat property: The number format. + * + * @return the numberFormat value. + */ + @Generated + public NumberFormat getNumberFormat() { + return this.numberFormat; + } + + /** + * Set the numberFormat property: The number format. + * + * @param numberFormat the numberFormat value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setNumberFormat(NumberFormat numberFormat) { + this.numberFormat = numberFormat; + return this; + } + + /** + * Get the timeInstance property: The date format. + * + * @return the timeInstance value. + */ + @Generated + public DateFormat getTimeInstance() { + return this.timeInstance; + } + + /** + * Set the timeInstance property: The date format. + * + * @param timeInstance the timeInstance value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setTimeInstance(DateFormat timeInstance) { + this.timeInstance = timeInstance; + return this; + } + + /** + * Get the timeZone property: The timezone information. + * + * @return the timeZone value. + */ + @Generated + public TimeZone getTimeZone() { + return this.timeZone; + } + + /** + * Set the timeZone property: The timezone information. + * + * @param timeZone the timeZone value to set. + * @return the DateFormat object itself. + */ + @Generated + public DateFormat setTimeZone(TimeZone timeZone) { + this.timeZone = timeZone; + return this; + } +} 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 new file mode 100644 index 0000000000000..7fa93038e74d5 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResult.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * The mutation response result of entity. + */ +@Immutable +public final class EntityMutationResult { + /* + * 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; + + /** + * Creates an instance of EntityMutationResult class. + */ + @Generated + private EntityMutationResult() { + } + + /** + * Get the guidAssignments property: A map of GUID assignments with entities. + * + * @return the guidAssignments value. + */ + @Generated + public Map getGuidAssignments() { + return this.guidAssignments; + } + + /** + * Get the mutatedEntities property: The entity headers of mutated entities. + * + * @return the mutatedEntities value. + */ + @Generated + public Map> getMutatedEntities() { + return this.mutatedEntities; + } + + /** + * Get the partialUpdatedEntities property: An array of entity headers that partially updated. + * + * @return the partialUpdatedEntities value. + */ + @Generated + public List getPartialUpdatedEntities() { + return this.partialUpdatedEntities; + } +} 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 new file mode 100644 index 0000000000000..cb21860c168c0 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityStatus.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Status - can be active or deleted. + */ +public final class EntityStatus extends ExpandableStringEnum { + /** + * The status is active. + */ + @Generated + public static final EntityStatus ACTIVE = fromString("ACTIVE"); + + /** + * The status is deleted. + */ + @Generated + public static final EntityStatus DELETED = fromString("DELETED"); + + /** + * Creates a new instance of EntityStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public EntityStatus() { + } + + /** + * Creates or finds a EntityStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding EntityStatus. + */ + @Generated + @JsonCreator + public static EntityStatus fromString(String name) { + return fromString(name, EntityStatus.class); + } + + /** + * Gets known EntityStatus values. + * + * @return known EntityStatus values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..98dc55b1b995e --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/FileDetails.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; + +/** + * The file details model for the file. + */ +@Fluent +public final class FileDetails { + /* + * The content of the file + */ + @Generated + private BinaryData content; + + /* + * The filename of the file + */ + @Generated + private String filename; + + /* + * The content-type of the file + */ + @Generated + private String contentType = "application/octet-stream"; + + /** + * Creates an instance of FileDetails class. + * + * @param content the content value to set. + */ + @Generated + public FileDetails(BinaryData content) { + this.content = content; + } + + /** + * Get the content property: The content of the file. + * + * @return the content value. + */ + @Generated + public BinaryData getContent() { + return this.content; + } + + /** + * Get the filename property: The filename of the file. + * + * @return the filename value. + */ + @Generated + public String getFilename() { + return this.filename; + } + + /** + * Set the filename property: The filename of the file. + * + * @param filename the filename value to set. + * @return the FileDetails object itself. + */ + @Generated + public FileDetails setFilename(String filename) { + this.filename = filename; + return this; + } + + /** + * Get the contentType property: The content-type of the file. + * + * @return the contentType value. + */ + @Generated + public String getContentType() { + return this.contentType; + } + + /** + * Set the contentType property: The content-type of the file. + * + * @param contentType the contentType value to set. + * @return the FileDetails object itself. + */ + @Generated + public FileDetails setContentType(String contentType) { + this.contentType = contentType; + return this; + } +} 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 new file mode 100644 index 0000000000000..89736114981e2 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * ImportInfo. + */ +@Immutable +public final class ImportInfo { + /* + * 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; + + /** + * Creates an instance of ImportInfo class. + */ + @Generated + private ImportInfo() { + } + + /** + * Get the childObjectName property: childObjectName. + * + * @return the childObjectName value. + */ + @Generated + public String getChildObjectName() { + return this.childObjectName; + } + + /** + * Get the importStatus property: importStatus. + * + * @return the importStatus value. + */ + @Generated + public ImportStatus getImportStatus() { + return this.importStatus; + } + + /** + * Get the parentObjectName property: parentObjectName. + * + * @return the parentObjectName value. + */ + @Generated + public String getParentObjectName() { + return this.parentObjectName; + } + + /** + * Get the remarks property: remarks. + * + * @return the remarks value. + */ + @Generated + public String getRemarks() { + return this.remarks; + } +} 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 new file mode 100644 index 0000000000000..a483868112f88 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Status for import. + */ +public final class ImportStatus extends ExpandableStringEnum { + /** + * Success. + */ + @Generated + public static final ImportStatus SUCCESS = fromString("SUCCESS"); + + /** + * Failed. + */ + @Generated + public static final ImportStatus FAILED = fromString("FAILED"); + + /** + * Creates a new instance of ImportStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ImportStatus() { + } + + /** + * Creates or finds a ImportStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding ImportStatus. + */ + @Generated + @JsonCreator + public static ImportStatus fromString(String name) { + return fromString(name, ImportStatus.class); + } + + /** + * Gets known ImportStatus values. + * + * @return known ImportStatus values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..41e23bec4c2be --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Lineage direction. + */ +public final class LineageDirection extends ExpandableStringEnum { + /** + * input. + */ + @Generated + public static final LineageDirection INPUT = fromString("INPUT"); + + /** + * output. + */ + @Generated + public static final LineageDirection OUTPUT = fromString("OUTPUT"); + + /** + * both. + */ + @Generated + public static final LineageDirection BOTH = fromString("BOTH"); + + /** + * Creates a new instance of LineageDirection value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public LineageDirection() { + } + + /** + * Creates or finds a LineageDirection from its string representation. + * + * @param name a name to look for. + * @return the corresponding LineageDirection. + */ + @Generated + @JsonCreator + public static LineageDirection fromString(String name) { + return fromString(name, LineageDirection.class); + } + + /** + * Gets known LineageDirection values. + * + * @return known LineageDirection values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..81cf00290ecf1 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The lineage relation with GUID of the from and to entity. + */ +@Immutable +public final class LineageRelation { + /* + * 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; + + /** + * Creates an instance of LineageRelation class. + */ + @Generated + private LineageRelation() { + } + + /** + * Get the fromEntityId property: The GUID of from-entity. + * + * @return the fromEntityId value. + */ + @Generated + public String getFromEntityId() { + return this.fromEntityId; + } + + /** + * Get the relationshipId property: The GUID of relationship. + * + * @return the relationshipId value. + */ + @Generated + public String getRelationshipId() { + return this.relationshipId; + } + + /** + * Get the toEntityId property: The GUID of to-entity. + * + * @return the toEntityId value. + */ + @Generated + public String getToEntityId() { + return this.toEntityId; + } +} 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 new file mode 100644 index 0000000000000..3c45a51208919 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesOptions.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * MoveEntitiesOptions. + */ +@Fluent +public final class MoveEntitiesOptions { + /* + * An array of entity guids to be moved to target collection. + */ + @Generated + @JsonProperty(value = "entityGuids") + private List entityGuids; + + /** + * Creates an instance of MoveEntitiesOptions class. + */ + @Generated + public MoveEntitiesOptions() { + } + + /** + * Get the entityGuids property: An array of entity guids to be moved to target collection. + * + * @return the entityGuids value. + */ + @Generated + public List getEntityGuids() { + return this.entityGuids; + } + + /** + * Set the entityGuids property: An array of entity guids to be moved to target collection. + * + * @param entityGuids the entityGuids value to set. + * @return the MoveEntitiesOptions object itself. + */ + @Generated + public MoveEntitiesOptions setEntityGuids(List entityGuids) { + this.entityGuids = entityGuids; + return this; + } +} 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 new file mode 100644 index 0000000000000..cd41d14f7ee39 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java @@ -0,0 +1,429 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The number format. + */ +@Fluent +public final class NumberFormat { + /* + * 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; + + /** + * Creates an instance of NumberFormat class. + */ + @Generated + public NumberFormat() { + } + + /** + * Get the availableLocales property: The number format. + * + * @return the availableLocales value. + */ + @Generated + public List getAvailableLocales() { + return this.availableLocales; + } + + /** + * Set the availableLocales property: The number format. + * + * @param availableLocales the availableLocales value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setAvailableLocales(List availableLocales) { + this.availableLocales = availableLocales; + return this; + } + + /** + * Get the currency property: The currency. + * + * @return the currency value. + */ + @Generated + public String getCurrency() { + return this.currency; + } + + /** + * Set the currency property: The currency. + * + * @param currency the currency value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** + * Get the currencyInstance property: The number format. + * + * @return the currencyInstance value. + */ + @Generated + public NumberFormat getCurrencyInstance() { + return this.currencyInstance; + } + + /** + * Set the currencyInstance property: The number format. + * + * @param currencyInstance the currencyInstance value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setCurrencyInstance(NumberFormat currencyInstance) { + this.currencyInstance = currencyInstance; + return this; + } + + /** + * Get the groupingUsed property: Determines if grouping is used. + * + * @return the groupingUsed value. + */ + @Generated + public Boolean isGroupingUsed() { + return this.groupingUsed; + } + + /** + * Set the groupingUsed property: Determines if grouping is used. + * + * @param groupingUsed the groupingUsed value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setGroupingUsed(Boolean groupingUsed) { + this.groupingUsed = groupingUsed; + return this; + } + + /** + * Get the instance property: The number format. + * + * @return the instance value. + */ + @Generated + public NumberFormat getInstance() { + return this.instance; + } + + /** + * Set the instance property: The number format. + * + * @param instance the instance value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setInstance(NumberFormat instance) { + this.instance = instance; + return this; + } + + /** + * Get the integerInstance property: The number format. + * + * @return the integerInstance value. + */ + @Generated + public NumberFormat getIntegerInstance() { + return this.integerInstance; + } + + /** + * Set the integerInstance property: The number format. + * + * @param integerInstance the integerInstance value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setIntegerInstance(NumberFormat integerInstance) { + this.integerInstance = integerInstance; + return this; + } + + /** + * Get the maximumFractionDigits property: The maximum of fraction digits. + * + * @return the maximumFractionDigits value. + */ + @Generated + public Integer getMaximumFractionDigits() { + return this.maximumFractionDigits; + } + + /** + * Set the maximumFractionDigits property: The maximum of fraction digits. + * + * @param maximumFractionDigits the maximumFractionDigits value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setMaximumFractionDigits(Integer maximumFractionDigits) { + this.maximumFractionDigits = maximumFractionDigits; + return this; + } + + /** + * Get the maximumIntegerDigits property: The maximum of integer digits. + * + * @return the maximumIntegerDigits value. + */ + @Generated + public Integer getMaximumIntegerDigits() { + return this.maximumIntegerDigits; + } + + /** + * Set the maximumIntegerDigits property: The maximum of integer digits. + * + * @param maximumIntegerDigits the maximumIntegerDigits value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setMaximumIntegerDigits(Integer maximumIntegerDigits) { + this.maximumIntegerDigits = maximumIntegerDigits; + return this; + } + + /** + * Get the minimumFractionDigits property: The minimum of fraction digits. + * + * @return the minimumFractionDigits value. + */ + @Generated + public Integer getMinimumFractionDigits() { + return this.minimumFractionDigits; + } + + /** + * Set the minimumFractionDigits property: The minimum of fraction digits. + * + * @param minimumFractionDigits the minimumFractionDigits value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setMinimumFractionDigits(Integer minimumFractionDigits) { + this.minimumFractionDigits = minimumFractionDigits; + return this; + } + + /** + * Get the minimumIntegerDigits property: The minimum of integer digits. + * + * @return the minimumIntegerDigits value. + */ + @Generated + public Integer getMinimumIntegerDigits() { + return this.minimumIntegerDigits; + } + + /** + * Set the minimumIntegerDigits property: The minimum of integer digits. + * + * @param minimumIntegerDigits the minimumIntegerDigits value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setMinimumIntegerDigits(Integer minimumIntegerDigits) { + this.minimumIntegerDigits = minimumIntegerDigits; + return this; + } + + /** + * Get the numberInstance property: The number format. + * + * @return the numberInstance value. + */ + @Generated + public NumberFormat getNumberInstance() { + return this.numberInstance; + } + + /** + * Set the numberInstance property: The number format. + * + * @param numberInstance the numberInstance value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setNumberInstance(NumberFormat numberInstance) { + this.numberInstance = numberInstance; + return this; + } + + /** + * Get the parseIntegerOnly property: Determines if only integer is parsed. + * + * @return the parseIntegerOnly value. + */ + @Generated + public Boolean isParseIntegerOnly() { + return this.parseIntegerOnly; + } + + /** + * Set the parseIntegerOnly property: Determines if only integer is parsed. + * + * @param parseIntegerOnly the parseIntegerOnly value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setParseIntegerOnly(Boolean parseIntegerOnly) { + this.parseIntegerOnly = parseIntegerOnly; + return this; + } + + /** + * Get the percentInstance property: The number format. + * + * @return the percentInstance value. + */ + @Generated + public NumberFormat getPercentInstance() { + return this.percentInstance; + } + + /** + * Set the percentInstance property: The number format. + * + * @param percentInstance the percentInstance value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setPercentInstance(NumberFormat percentInstance) { + this.percentInstance = percentInstance; + return this; + } + + /** + * Get the roundingMode property: The enum of rounding mode. + * + * @return the roundingMode value. + */ + @Generated + public RoundingMode getRoundingMode() { + return this.roundingMode; + } + + /** + * Set the roundingMode property: The enum of rounding mode. + * + * @param roundingMode the roundingMode value to set. + * @return the NumberFormat object itself. + */ + @Generated + public NumberFormat setRoundingMode(RoundingMode roundingMode) { + this.roundingMode = roundingMode; + return this; + } +} 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 new file mode 100644 index 0000000000000..30ceb02551f54 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The lineage parents relation with GUID of the parent entity and to child entity. + */ +@Immutable +public final class ParentRelation { + /* + * 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; + + /** + * Creates an instance of ParentRelation class. + */ + @Generated + private ParentRelation() { + } + + /** + * Get the childEntityId property: The GUID of child entity. + * + * @return the childEntityId value. + */ + @Generated + public String getChildEntityId() { + return this.childEntityId; + } + + /** + * Get the relationshipId property: The GUID of relationship. + * + * @return the relationshipId value. + */ + @Generated + public String getRelationshipId() { + return this.relationshipId; + } + + /** + * Get the parentEntityId property: The GUID of parent entity. + * + * @return the parentEntityId value. + */ + @Generated + public String getParentEntityId() { + return this.parentEntityId; + } +} 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 new file mode 100644 index 0000000000000..335743e7a58c8 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java @@ -0,0 +1,255 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; + +/** + * PurviewObjectId. + */ +@Fluent +public final class PurviewObjectId { + /* + * 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; + + /** + * Creates an instance of PurviewObjectId class. + */ + @Generated + public PurviewObjectId() { + } + + /** + * Get the guid property: The GUID of the object. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the object. + * + * @param guid the guid value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the typeName property: The name of the type. + * + * @return the typeName value. + */ + @Generated + public String getTypeName() { + return this.typeName; + } + + /** + * Set the typeName property: The name of the type. + * + * @param typeName the typeName value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setTypeName(String typeName) { + this.typeName = typeName; + return this; + } + + /** + * Get the uniqueAttributes property: The unique attributes of the object. + * + * @return the uniqueAttributes value. + */ + @Generated + public Map getUniqueAttributes() { + return this.uniqueAttributes; + } + + /** + * Set the uniqueAttributes property: The unique attributes of the object. + * + * @param uniqueAttributes the uniqueAttributes value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setUniqueAttributes(Map uniqueAttributes) { + this.uniqueAttributes = uniqueAttributes; + return this; + } + + /** + * Get the name property: Name. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: Name. + * + * @param name the name value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setName(String name) { + this.name = name; + return this; + } + + /** + * Get the displayText property: Display text. + * + * @return the displayText value. + */ + @Generated + public String getDisplayText() { + return this.displayText; + } + + /** + * Set the displayText property: Display text. + * + * @param displayText the displayText value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setDisplayText(String displayText) { + this.displayText = displayText; + return this; + } + + /** + * Get the itemPath property: Item path. + * + * @return the itemPath value. + */ + @Generated + public String getItemPath() { + return this.itemPath; + } + + /** + * Set the itemPath property: Item path. + * + * @param itemPath the itemPath value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setItemPath(String itemPath) { + this.itemPath = itemPath; + return this; + } + + /** + * Get the resourceId property: Resource Id. + * + * @return the resourceId value. + */ + @Generated + public String getResourceId() { + return this.resourceId; + } + + /** + * Set the resourceId property: Resource Id. + * + * @param resourceId the resourceId value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get the properties property: Dictionary of <any>. + * + * @return the properties value. + */ + @Generated + public Map getProperties() { + return this.properties; + } + + /** + * Set the properties property: Dictionary of <any>. + * + * @param properties the properties value to set. + * @return the PurviewObjectId object itself. + */ + @Generated + public PurviewObjectId setProperties(Map properties) { + this.properties = properties; + return this; + } +} 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 new file mode 100644 index 0000000000000..e5d131145f3e3 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryOptions.java @@ -0,0 +1,232 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The search query of advanced search request. + */ +@Fluent +public final class QueryOptions { + /* + * The keywords applied to all searchable fields. + */ + @Generated + @JsonProperty(value = "keywords") + private String keywords; + + /* + * The limit of the number of the search result. default value is 50; maximum + * value is 1000. + */ + @Generated + @JsonProperty(value = "limit") + private Integer limit; + + /* + * The token used to get next batch of data. Default 'Null' to get the first + * 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; + + /** + * Creates an instance of QueryOptions class. + */ + @Generated + public QueryOptions() { + } + + /** + * Get the keywords property: The keywords applied to all searchable fields. + * + * @return the keywords value. + */ + @Generated + public String getKeywords() { + return this.keywords; + } + + /** + * Set the keywords property: The keywords applied to all searchable fields. + * + * @param keywords the keywords value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setKeywords(String keywords) { + this.keywords = keywords; + return this; + } + + /** + * Get the limit property: The limit of the number of the search result. default value is 50; maximum + * value is 1000. + * + * @return the limit value. + */ + @Generated + public Integer getLimit() { + return this.limit; + } + + /** + * Set the limit property: The limit of the number of the search result. default value is 50; maximum + * value is 1000. + * + * @param limit the limit value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setLimit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * Get the continuationToken property: The token used to get next batch of data. Default 'Null' to get the first + * batch, and will return new token in each response unless there's no more data. + * + * @return the continuationToken value. + */ + @Generated + public String getContinuationToken() { + return this.continuationToken; + } + + /** + * Set the continuationToken property: The token used to get next batch of data. Default 'Null' to get the first + * batch, and will return new token in each response unless there's no more data. + * + * @param continuationToken the continuationToken value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setContinuationToken(String continuationToken) { + this.continuationToken = continuationToken; + return this; + } + + /** + * Get the orderby property: The sort order of search results, can specify multiple fields. + * + * @return the orderby value. + */ + @Generated + public List getOrderby() { + return this.orderby; + } + + /** + * Set the orderby property: The sort order of search results, can specify multiple fields. + * + * @param orderby the orderby value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setOrderby(List orderby) { + this.orderby = orderby; + return this; + } + + /** + * Get the filter property: The filter for the search. See examples for the usage of supported filters. + * + * @return the filter value. + */ + @Generated + public Object getFilter() { + return this.filter; + } + + /** + * Set the filter property: The filter for the search. See examples for the usage of supported filters. + * + * @param filter the filter value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setFilter(Object filter) { + this.filter = filter; + return this; + } + + /** + * Get the facets property: The facets for search. See examples for the usage of supported facets. + * + * @return the facets value. + */ + @Generated + public List getFacets() { + return this.facets; + } + + /** + * Set the facets property: The facets for search. See examples for the usage of supported facets. + * + * @param facets the facets value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setFacets(List facets) { + this.facets = facets; + return this; + } + + /** + * Get the taxonomySetting property: The taxonomy setting for search. + * + * @return the taxonomySetting value. + */ + @Generated + public SearchTaxonomySetting getTaxonomySetting() { + return this.taxonomySetting; + } + + /** + * Set the taxonomySetting property: The taxonomy setting for search. + * + * @param taxonomySetting the taxonomySetting value to set. + * @return the QueryOptions object itself. + */ + @Generated + public QueryOptions setTaxonomySetting(SearchTaxonomySetting taxonomySetting) { + this.taxonomySetting = taxonomySetting; + return this; + } +} 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 new file mode 100644 index 0000000000000..3d342eeba5082 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/QueryResult.java @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The result of the search result. + */ +@Immutable +public final class QueryResult { + /* + * 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; + + /* + * A facet list that consists of index fields assetType ,classification, + * contactId, and label. When the facet is specified in the request, the value of + * 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; + + /** + * Creates an instance of QueryResult class. + */ + @Generated + private QueryResult() { + } + + /** + * Get the searchCount property: The total number of search results (not the number of documents in a single + * page). + * + * @return the searchCount value. + */ + @Generated + public Integer getSearchCount() { + return this.searchCount; + } + + /** + * Get the searchCountApproximate property: 'True' if the '@search.count' is an approximate value and vise versa. + * + * @return the searchCountApproximate value. + */ + @Generated + public Boolean isSearchCountApproximate() { + return this.searchCountApproximate; + } + + /** + * Get the continuationToken property: The token used to get next batch of data. Absent if there's no more data. + * + * @return the continuationToken value. + */ + @Generated + public String getContinuationToken() { + return this.continuationToken; + } + + /** + * Get the searchFacets property: A facet list that consists of index fields assetType ,classification, + * contactId, and label. When the facet is specified in the request, the value of + * the facet is returned as an element of @search.facets. + * + * @return the searchFacets value. + */ + @Generated + public SearchFacetResultValue getSearchFacets() { + return this.searchFacets; + } + + /** + * Get the value property: Search result value. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } +} 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 new file mode 100644 index 0000000000000..8017d7226bc27 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Relationship Category. + */ +public final class RelationshipCategory extends ExpandableStringEnum { + /** + * association. + */ + @Generated + public static final RelationshipCategory ASSOCIATION = fromString("ASSOCIATION"); + + /** + * aggregation. + */ + @Generated + public static final RelationshipCategory AGGREGATION = fromString("AGGREGATION"); + + /** + * composition. + */ + @Generated + public static final RelationshipCategory COMPOSITION = fromString("COMPOSITION"); + + /** + * Creates a new instance of RelationshipCategory value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RelationshipCategory() { + } + + /** + * Creates or finds a RelationshipCategory from its string representation. + * + * @param name a name to look for. + * @return the corresponding RelationshipCategory. + */ + @Generated + @JsonCreator + public static RelationshipCategory fromString(String name) { + return fromString(name, RelationshipCategory.class); + } + + /** + * Gets known RelationshipCategory values. + * + * @return known RelationshipCategory values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..348fee24a423e --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * ResourceLink. + */ +@Fluent +public final class ResourceLink { + /* + * Display name for url. + */ + @Generated + @JsonProperty(value = "displayName") + private String displayName; + + /* + * web url. http or https + */ + @Generated + @JsonProperty(value = "url") + private String url; + + /** + * Creates an instance of ResourceLink class. + */ + @Generated + public ResourceLink() { + } + + /** + * Get the displayName property: Display name for url. + * + * @return the displayName value. + */ + @Generated + public String getDisplayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name for url. + * + * @param displayName the displayName value to set. + * @return the ResourceLink object itself. + */ + @Generated + public ResourceLink setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the url property: web url. http or https. + * + * @return the url value. + */ + @Generated + public String getUrl() { + return this.url; + } + + /** + * Set the url property: web url. http or https. + * + * @param url the url value to set. + * @return the ResourceLink object itself. + */ + @Generated + public ResourceLink setUrl(String url) { + this.url = url; + return this; + } +} 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 new file mode 100644 index 0000000000000..c128320f8733d --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Rounding Mode. + */ +public final class RoundingMode extends ExpandableStringEnum { + /** + * up. + */ + @Generated + public static final RoundingMode UP = fromString("UP"); + + /** + * down. + */ + @Generated + public static final RoundingMode DOWN = fromString("DOWN"); + + /** + * ceiling. + */ + @Generated + public static final RoundingMode CEILING = fromString("CEILING"); + + /** + * floor. + */ + @Generated + public static final RoundingMode FLOOR = fromString("FLOOR"); + + /** + * half up. + */ + @Generated + public static final RoundingMode HALF_UP = fromString("HALF_UP"); + + /** + * half down. + */ + @Generated + public static final RoundingMode HALF_DOWN = fromString("HALF_DOWN"); + + /** + * half even. + */ + @Generated + public static final RoundingMode HALF_EVEN = fromString("HALF_EVEN"); + + /** + * unnecessary. + */ + @Generated + public static final RoundingMode UNNECESSARY = fromString("UNNECESSARY"); + + /** + * Creates a new instance of RoundingMode value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RoundingMode() { + } + + /** + * Creates or finds a RoundingMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding RoundingMode. + */ + @Generated + @JsonCreator + public static RoundingMode fromString(String name) { + return fromString(name, RoundingMode.class); + } + + /** + * Gets known RoundingMode values. + * + * @return known RoundingMode values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..0a83a22433a9d --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The content of a search facet result item. + */ +@Fluent +public final class SearchFacetItem { + /* + * 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; + + /** + * Creates an instance of SearchFacetItem class. + */ + @Generated + public SearchFacetItem() { + } + + /** + * Get the count property: The count of the facet item. + * + * @return the count value. + */ + @Generated + public Integer getCount() { + return this.count; + } + + /** + * Set the count property: The count of the facet item. + * + * @param count the count value to set. + * @return the SearchFacetItem object itself. + */ + @Generated + public SearchFacetItem setCount(Integer count) { + this.count = count; + return this; + } + + /** + * Get the facet property: The name of the facet item. + * + * @return the facet value. + */ + @Generated + public String getFacet() { + return this.facet; + } + + /** + * Set the facet property: The name of the facet item. + * + * @param facet the facet value to set. + * @return the SearchFacetItem object itself. + */ + @Generated + public SearchFacetItem setFacet(String facet) { + this.facet = facet; + return this; + } + + /** + * Get the sort property: Define the sorting criteria for items. + * + * @return the sort value. + */ + @Generated + public SearchFacetSort getSort() { + return this.sort; + } + + /** + * Set the sort property: Define the sorting criteria for items. + * + * @param sort the sort value to set. + * @return the SearchFacetItem object itself. + */ + @Generated + public SearchFacetItem setSort(SearchFacetSort sort) { + this.sort = sort; + return this; + } +} 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 new file mode 100644 index 0000000000000..a4984ae96d321 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The content of a search facet result item. + */ +@Immutable +public final class SearchFacetItemValue { + /* + * 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; + + /** + * Creates an instance of SearchFacetItemValue class. + */ + @Generated + private SearchFacetItemValue() { + } + + /** + * Get the count property: The count of the facet item. + * + * @return the count value. + */ + @Generated + public Integer getCount() { + return this.count; + } + + /** + * Get the value property: The name of the facet item. + * + * @return the value value. + */ + @Generated + public String getValue() { + return this.value; + } +} 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 new file mode 100644 index 0000000000000..cbc5d2b54a406 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java @@ -0,0 +1,195 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * A facet list that consists of index fields assetType ,classification, + * contactId, and label. When the facet is specified in the request, the value of + * the facet is returned as an element of @search.facets. + */ +@Immutable +public final class SearchFacetResultValue { + /* + * 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; + + /** + * Creates an instance of SearchFacetResultValue class. + */ + @Generated + private SearchFacetResultValue() { + } + + /** + * Get the entityType property: Entity type. + * + * @return the entityType value. + */ + @Generated + public List getEntityType() { + return this.entityType; + } + + /** + * Get the assetType property: Asset type. + * + * @return the assetType value. + */ + @Generated + public List getAssetType() { + return this.assetType; + } + + /** + * Get the classification property: Classification. + * + * @return the classification value. + */ + @Generated + public List getClassification() { + return this.classification; + } + + /** + * Get the term property: Term. + * + * @return the term value. + */ + @Generated + public List getTerm() { + return this.term; + } + + /** + * Get the contactId property: Contact id. + * + * @return the contactId value. + */ + @Generated + public List getContactId() { + return this.contactId; + } + + /** + * Get the contactType property: Contact type. + * + * @return the contactType value. + */ + @Generated + public List getContactType() { + return this.contactType; + } + + /** + * Get the label property: Label. + * + * @return the label value. + */ + @Generated + public List getLabel() { + return this.label; + } + + /** + * Get the glossaryType property: Glossary type. + * + * @return the glossaryType value. + */ + @Generated + public List getGlossaryType() { + return this.glossaryType; + } + + /** + * Get the termStatus property: Term status. + * + * @return the termStatus value. + */ + @Generated + public List getTermStatus() { + return this.termStatus; + } + + /** + * Get the termTemplate property: Term template. + * + * @return the termTemplate value. + */ + @Generated + public List getTermTemplate() { + return this.termTemplate; + } +} 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 new file mode 100644 index 0000000000000..4a9b71d141bb2 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetSort.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The sorting criteria. + */ +@Fluent +public final class SearchFacetSort { + /* + * Order by count + */ + @Generated + @JsonProperty(value = "count") + private SearchSortOrder count; + + /* + * Order by value + */ + @Generated + @JsonProperty(value = "value") + private SearchSortOrder value; + + /** + * Creates an instance of SearchFacetSort class. + */ + @Generated + public SearchFacetSort() { + } + + /** + * Get the count property: Order by count. + * + * @return the count value. + */ + @Generated + public SearchSortOrder getCount() { + return this.count; + } + + /** + * Set the count property: Order by count. + * + * @param count the count value to set. + * @return the SearchFacetSort object itself. + */ + @Generated + public SearchFacetSort setCount(SearchSortOrder count) { + this.count = count; + return this; + } + + /** + * Get the value property: Order by value. + * + * @return the value value. + */ + @Generated + public SearchSortOrder getValue() { + return this.value; + } + + /** + * Set the value property: Order by value. + * + * @param value the value value to set. + * @return the SearchFacetSort object itself. + */ + @Generated + public SearchFacetSort setValue(SearchSortOrder value) { + this.value = value; + return this; + } +} 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 new file mode 100644 index 0000000000000..d778d54a29fd4 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * 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. + */ +@Immutable +public final class SearchHighlights { + /* + * 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; + + /** + * Creates an instance of SearchHighlights class. + */ + @Generated + private SearchHighlights() { + } + + /** + * Get the id property: Id. + * + * @return the id value. + */ + @Generated + public List getId() { + return this.id; + } + + /** + * Get the qualifiedName property: Qualified name. + * + * @return the qualifiedName value. + */ + @Generated + public List getQualifiedName() { + return this.qualifiedName; + } + + /** + * Get the name property: Name. + * + * @return the name value. + */ + @Generated + public List getName() { + return this.name; + } + + /** + * Get the description property: Description. + * + * @return the description value. + */ + @Generated + public List getDescription() { + return this.description; + } + + /** + * Get the entityType property: Entity type. + * + * @return the entityType value. + */ + @Generated + public List getEntityType() { + return this.entityType; + } +} 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 new file mode 100644 index 0000000000000..ce8a74059fef1 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java @@ -0,0 +1,411 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The value item of the search result. + */ +@Immutable +public final class SearchResultValue { + /* + * 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; + + /* + * The object type of the record. Object type is the top-level property to + * 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; + + /* + * The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or + * 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; + + /** + * Creates an instance of SearchResultValue class. + */ + @Generated + private SearchResultValue() { + } + + /** + * Get the searchScore property: The search score calculated by the search engine. The results are ordered by + * search score by default. + * + * @return the searchScore value. + */ + @Generated + public Double getSearchScore() { + return this.searchScore; + } + + /** + * Get the searchHighlights property: 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. + * + * @return the searchHighlights value. + */ + @Generated + public SearchHighlights getSearchHighlights() { + return this.searchHighlights; + } + + /** + * Get the objectType property: The object type of the record. Object type is the top-level property to + * distinguish whether a record is an asset or a term. + * + * @return the objectType value. + */ + @Generated + public String getObjectType() { + return this.objectType; + } + + /** + * Get the createTime property: The create time of the record. The Unix epoch format. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Get the updateTime property: The last update time of the record. The Unix epoch format. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Get the id property: The GUID of the record. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the name property: The name of the record. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the qualifiedName property: The qualified name of the record. + * + * @return the qualifiedName value. + */ + @Generated + public String getQualifiedName() { + return this.qualifiedName; + } + + /** + * Get the entityType property: The type name of the asset. + * + * @return the entityType value. + */ + @Generated + public String getEntityType() { + return this.entityType; + } + + /** + * Get the description property: The description of the asset. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the endorsement property: The endorsement of the asset. + * + * @return the endorsement value. + */ + @Generated + public String getEndorsement() { + return this.endorsement; + } + + /** + * Get the owner property: The owner of the record. + * + * @return the owner value. + */ + @Generated + public String getOwner() { + return this.owner; + } + + /** + * Get the classification property: The classifications of the record. + * + * @return the classification value. + */ + @Generated + public List getClassification() { + return this.classification; + } + + /** + * Get the label property: The labels of the asset. + * + * @return the label value. + */ + @Generated + public List getLabel() { + return this.label; + } + + /** + * Get the term property: The terms assigned to the asset. + * + * @return the term value. + */ + @Generated + public List getTerm() { + return this.term; + } + + /** + * Get the contact property: The contacts of the asset. + * + * @return the contact value. + */ + @Generated + public List getContact() { + return this.contact; + } + + /** + * Get the assetType property: The asset types of the asset. + * + * @return the assetType value. + */ + @Generated + public List getAssetType() { + return this.assetType; + } + + /** + * Get the glossaryType property: The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or + * AtlasGlossaryCategory. + * + * @return the glossaryType value. + */ + @Generated + public String getGlossaryType() { + return this.glossaryType; + } + + /** + * Get the glossary property: The glossary name of the term. + * + * @return the glossary value. + */ + @Generated + public String getGlossary() { + return this.glossary; + } + + /** + * Get the termStatus property: The status of the term. + * + * @return the termStatus value. + */ + @Generated + public String getTermStatus() { + return this.termStatus; + } + + /** + * Get the termTemplate property: The term template names used by the term. + * + * @return the termTemplate value. + */ + @Generated + public List getTermTemplate() { + return this.termTemplate; + } + + /** + * Get the longDescription property: The definition of the term. + * + * @return the longDescription value. + */ + @Generated + public String getLongDescription() { + return this.longDescription; + } +} 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 new file mode 100644 index 0000000000000..573b991475c38 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchSortOrder.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Search sort order. + */ +public final class SearchSortOrder extends ExpandableStringEnum { + /** + * Use ascending order for sorting. + */ + @Generated + public static final SearchSortOrder ASCEND = fromString("asc"); + + /** + * Use descending order for sorting. + */ + @Generated + public static final SearchSortOrder DESCEND = fromString("desc"); + + /** + * Creates a new instance of SearchSortOrder value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SearchSortOrder() { + } + + /** + * Creates or finds a SearchSortOrder from its string representation. + * + * @param name a name to look for. + * @return the corresponding SearchSortOrder. + */ + @Generated + @JsonCreator + public static SearchSortOrder fromString(String name) { + return fromString(name, SearchSortOrder.class); + } + + /** + * Gets known SearchSortOrder values. + * + * @return known SearchSortOrder values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..f5c95dd944f4b --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchTaxonomySetting.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * Taxonomy setting for search request. + */ +@Fluent +public final class SearchTaxonomySetting { + /* + * Asset types + */ + @Generated + @JsonProperty(value = "assetTypes") + private List assetTypes; + + /* + * The content of a search facet result item. + */ + @Generated + @JsonProperty(value = "facet") + private SearchFacetItem facet; + + /** + * Creates an instance of SearchTaxonomySetting class. + */ + @Generated + public SearchTaxonomySetting() { + } + + /** + * Get the assetTypes property: Asset types. + * + * @return the assetTypes value. + */ + @Generated + public List getAssetTypes() { + return this.assetTypes; + } + + /** + * Set the assetTypes property: Asset types. + * + * @param assetTypes the assetTypes value to set. + * @return the SearchTaxonomySetting object itself. + */ + @Generated + public SearchTaxonomySetting setAssetTypes(List assetTypes) { + this.assetTypes = assetTypes; + return this; + } + + /** + * Get the facet property: The content of a search facet result item. + * + * @return the facet value. + */ + @Generated + public SearchFacetItem getFacet() { + return this.facet; + } + + /** + * Set the facet property: The content of a search facet result item. + * + * @param facet the facet value to set. + * @return the SearchTaxonomySetting object itself. + */ + @Generated + public SearchTaxonomySetting setFacet(SearchFacetItem facet) { + this.facet = facet; + return this; + } +} 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 new file mode 100644 index 0000000000000..837a2a5d2eab3 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Type for sorting. + */ +public final class SortType extends ExpandableStringEnum { + /** + * No sorting order. + */ + @Generated + public static final SortType NONE = fromString("NONE"); + + /** + * Use ascending order for sorting. + */ + @Generated + public static final SortType ASCEND = fromString("ASC"); + + /** + * Use descending order for sorting. + */ + @Generated + public static final SortType DESCEND = fromString("DESC"); + + /** + * Creates a new instance of SortType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SortType() { + } + + /** + * Creates or finds a SortType from its string representation. + * + * @param name a name to look for. + * @return the corresponding SortType. + */ + @Generated + @JsonCreator + public static SortType fromString(String name) { + return fromString(name, SortType.class); + } + + /** + * Gets known SortType values. + * + * @return known SortType values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..f622e0847f1f1 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.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.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Status for atlas relationship. + */ +public final class StatusAtlasRelationship extends ExpandableStringEnum { + /** + * active. + */ + @Generated + public static final StatusAtlasRelationship ACTIVE = fromString("ACTIVE"); + + /** + * deleted. + */ + @Generated + public static final StatusAtlasRelationship DELETED = fromString("DELETED"); + + /** + * Creates a new instance of StatusAtlasRelationship value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public StatusAtlasRelationship() { + } + + /** + * Creates or finds a StatusAtlasRelationship from its string representation. + * + * @param name a name to look for. + * @return the corresponding StatusAtlasRelationship. + */ + @Generated + @JsonCreator + public static StatusAtlasRelationship fromString(String name) { + return fromString(name, StatusAtlasRelationship.class); + } + + /** + * Gets known StatusAtlasRelationship values. + * + * @return known StatusAtlasRelationship values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..1cd15cd59c254 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestOptions.java @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The payload of suggest request. + */ +@Fluent +public final class SuggestOptions { + /* + * 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 + * defined a default suggester which lists all the supported fields and specifies + * a search mode. + */ + @Generated + @JsonProperty(value = "keywords") + private String keywords; + + /* + * The number of suggestions we hope to return. The default value is 5. The value + * 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; + + /** + * Creates an instance of SuggestOptions class. + */ + @Generated + public SuggestOptions() { + } + + /** + * Get the keywords property: 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 + * defined a default suggester which lists all the supported fields and specifies + * a search mode. + * + * @return the keywords value. + */ + @Generated + public String getKeywords() { + return this.keywords; + } + + /** + * Set the keywords property: 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 + * defined a default suggester which lists all the supported fields and specifies + * a search mode. + * + * @param keywords the keywords value to set. + * @return the SuggestOptions object itself. + */ + @Generated + public SuggestOptions setKeywords(String keywords) { + this.keywords = keywords; + return this; + } + + /** + * Get the limit property: The number of suggestions we hope to return. The default value is 5. The value + * must be a number between 1 and 100. + * + * @return the limit value. + */ + @Generated + public Integer getLimit() { + return this.limit; + } + + /** + * Set the limit property: The number of suggestions we hope to return. The default value is 5. The value + * must be a number between 1 and 100. + * + * @param limit the limit value to set. + * @return the SuggestOptions object itself. + */ + @Generated + public SuggestOptions setLimit(Integer limit) { + this.limit = limit; + return this; + } + + /** + * Get the filter property: The filter for the search. + * + * @return the filter value. + */ + @Generated + public Object getFilter() { + return this.filter; + } + + /** + * Set the filter property: The filter for the search. + * + * @param filter the filter value to set. + * @return the SuggestOptions object itself. + */ + @Generated + public SuggestOptions setFilter(Object filter) { + this.filter = filter; + return this; + } +} 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 new file mode 100644 index 0000000000000..44ed4f230eb95 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The result item of the search suggest. + */ +@Immutable +public final class SuggestResult { + /* + * The result value + */ + @Generated + @JsonProperty(value = "value") + private List value; + + /** + * Creates an instance of SuggestResult class. + */ + @Generated + private SuggestResult() { + } + + /** + * Get the value property: The result value. + * + * @return the value value. + */ + @Generated + public List getValue() { + return this.value; + } +} 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 new file mode 100644 index 0000000000000..45b4f1f21527f --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java @@ -0,0 +1,405 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The value item of the search suggest. + */ +@Immutable +public final class SuggestResultValue { + /* + * 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; + + /* + * The target text that contains the keyword as prefix. The keyword is wrapped + * with emphasis mark. + */ + @Generated + @JsonProperty(value = "@search.text") + private String searchText; + + /* + * The object type of the record. Object type is the top-level property to + * 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; + + /* + * The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or + * 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; + + /** + * Creates an instance of SuggestResultValue class. + */ + @Generated + private SuggestResultValue() { + } + + /** + * Get the searchScore property: The search score calculated by the search engine. The results are ordered by + * search score by default. + * + * @return the searchScore value. + */ + @Generated + public Double getSearchScore() { + return this.searchScore; + } + + /** + * Get the searchText property: The target text that contains the keyword as prefix. The keyword is wrapped + * with emphasis mark. + * + * @return the searchText value. + */ + @Generated + public String getSearchText() { + return this.searchText; + } + + /** + * Get the objectType property: The object type of the record. Object type is the top-level property to + * distinguish whether a record is an asset or a term. + * + * @return the objectType value. + */ + @Generated + public String getObjectType() { + return this.objectType; + } + + /** + * Get the createTime property: The create time of the record. The Unix epoch format. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Get the updateTime property: The last update time of the record. The Unix epoch format. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Get the id property: The GUID of the record. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the name property: The name of the record. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the qualifiedName property: The qualified name of the record. + * + * @return the qualifiedName value. + */ + @Generated + public String getQualifiedName() { + return this.qualifiedName; + } + + /** + * Get the entityType property: The type name of the asset. + * + * @return the entityType value. + */ + @Generated + public String getEntityType() { + return this.entityType; + } + + /** + * Get the description property: The description of the asset. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the endorsement property: The endorsement of the asset. + * + * @return the endorsement value. + */ + @Generated + public String getEndorsement() { + return this.endorsement; + } + + /** + * Get the owner property: The owner of the record. + * + * @return the owner value. + */ + @Generated + public String getOwner() { + return this.owner; + } + + /** + * Get the classification property: The classifications of the record. + * + * @return the classification value. + */ + @Generated + public List getClassification() { + return this.classification; + } + + /** + * Get the label property: The labels of the asset. + * + * @return the label value. + */ + @Generated + public List getLabel() { + return this.label; + } + + /** + * Get the term property: The terms assigned to the asset. + * + * @return the term value. + */ + @Generated + public List getTerm() { + return this.term; + } + + /** + * Get the contact property: The contacts of the asset. + * + * @return the contact value. + */ + @Generated + public List getContact() { + return this.contact; + } + + /** + * Get the assetType property: The asset types of the asset. + * + * @return the assetType value. + */ + @Generated + public List getAssetType() { + return this.assetType; + } + + /** + * Get the glossaryType property: The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or + * AtlasGlossaryCategory. + * + * @return the glossaryType value. + */ + @Generated + public String getGlossaryType() { + return this.glossaryType; + } + + /** + * Get the glossary property: The glossary name of the term. + * + * @return the glossary value. + */ + @Generated + public String getGlossary() { + return this.glossary; + } + + /** + * Get the termStatus property: The status of the term. + * + * @return the termStatus value. + */ + @Generated + public String getTermStatus() { + return this.termStatus; + } + + /** + * Get the termTemplate property: The term template names used by the term. + * + * @return the termTemplate value. + */ + @Generated + public List getTermTemplate() { + return this.termTemplate; + } + + /** + * Get the longDescription property: The definition of the term. + * + * @return the longDescription value. + */ + @Generated + public String getLongDescription() { + return this.longDescription; + } +} 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 new file mode 100644 index 0000000000000..87675f2980b76 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The context. + */ +@Immutable +public final class TermSearchResultValue { + /* + * 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; + + /** + * Creates an instance of TermSearchResultValue class. + */ + @Generated + private TermSearchResultValue() { + } + + /** + * Get the name property: The name of the term. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the glossaryName property: The name of the glossary which contains the term. + * + * @return the glossaryName value. + */ + @Generated + public String getGlossaryName() { + return this.glossaryName; + } + + /** + * Get the guid property: The GUID of the term. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } +} 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 new file mode 100644 index 0000000000000..68d29b7d247f4 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Status for term. + */ +public final class TermStatus extends ExpandableStringEnum { + /** + * draft. + */ + @Generated + public static final TermStatus DRAFT = fromString("Draft"); + + /** + * approved. + */ + @Generated + public static final TermStatus APPROVED = fromString("Approved"); + + /** + * alert. + */ + @Generated + public static final TermStatus ALERT = fromString("Alert"); + + /** + * expired. + */ + @Generated + public static final TermStatus EXPIRED = fromString("Expired"); + + /** + * Creates a new instance of TermStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TermStatus() { + } + + /** + * Creates or finds a TermStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TermStatus. + */ + @Generated + @JsonCreator + public static TermStatus fromString(String name) { + return fromString(name, TermStatus.class); + } + + /** + * Gets known TermStatus values. + * + * @return known TermStatus values. + */ + @Generated + public static Collection values() { + return values(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 new file mode 100644 index 0000000000000..426f0574942c4 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java @@ -0,0 +1,459 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; + +/** + * Term template definition for glossary term. + */ +@Fluent +public final class TermTemplateDef { + /* + * 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; + + /** + * Creates an instance of TermTemplateDef class. + */ + @Generated + public TermTemplateDef() { + } + + /** + * Get the category property: The enum of type category. + * + * @return the category value. + */ + @Generated + public TypeCategory getCategory() { + return this.category; + } + + /** + * Set the category property: The enum of type category. + * + * @param category the category value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setCategory(TypeCategory category) { + this.category = category; + return this; + } + + /** + * Get the createTime property: The created time of the record. + * + * @return the createTime value. + */ + @Generated + public Long getCreateTime() { + return this.createTime; + } + + /** + * Set the createTime property: The created time of the record. + * + * @param createTime the createTime value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setCreateTime(Long createTime) { + this.createTime = createTime; + return this; + } + + /** + * Get the createdBy property: The user who created the record. + * + * @return the createdBy value. + */ + @Generated + public String getCreatedBy() { + return this.createdBy; + } + + /** + * Set the createdBy property: The user who created the record. + * + * @param createdBy the createdBy value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setCreatedBy(String createdBy) { + this.createdBy = createdBy; + return this; + } + + /** + * Get the dateFormatter property: The date format. + * + * @return the dateFormatter value. + */ + @Generated + public DateFormat getDateFormatter() { + return this.dateFormatter; + } + + /** + * Set the dateFormatter property: The date format. + * + * @param dateFormatter the dateFormatter value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setDateFormatter(DateFormat dateFormatter) { + this.dateFormatter = dateFormatter; + return this; + } + + /** + * Get the description property: The description of the type definition. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the type definition. + * + * @param description the description value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the guid property: The GUID of the type definition. + * + * @return the guid value. + */ + @Generated + public String getGuid() { + return this.guid; + } + + /** + * Set the guid property: The GUID of the type definition. + * + * @param guid the guid value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setGuid(String guid) { + this.guid = guid; + return this; + } + + /** + * Get the name property: The name of the type definition. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the type definition. + * + * @param name the name value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setName(String name) { + this.name = name; + return this; + } + + /** + * Get the options property: The options for the type definition. + * + * @return the options value. + */ + @Generated + public Map getOptions() { + return this.options; + } + + /** + * Set the options property: The options for the type definition. + * + * @param options the options value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setOptions(Map options) { + this.options = options; + return this; + } + + /** + * Get the serviceType property: The service type. + * + * @return the serviceType value. + */ + @Generated + public String getServiceType() { + return this.serviceType; + } + + /** + * Set the serviceType property: The service type. + * + * @param serviceType the serviceType value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setServiceType(String serviceType) { + this.serviceType = serviceType; + return this; + } + + /** + * Get the typeVersion property: The version of the type. + * + * @return the typeVersion value. + */ + @Generated + public String getTypeVersion() { + return this.typeVersion; + } + + /** + * Set the typeVersion property: The version of the type. + * + * @param typeVersion the typeVersion value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setTypeVersion(String typeVersion) { + this.typeVersion = typeVersion; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Long getUpdateTime() { + return this.updateTime; + } + + /** + * Set the updateTime property: The update time of the record. + * + * @param updateTime the updateTime value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setUpdateTime(Long updateTime) { + this.updateTime = updateTime; + return this; + } + + /** + * Get the updatedBy property: The user who updated the record. + * + * @return the updatedBy value. + */ + @Generated + public String getUpdatedBy() { + return this.updatedBy; + } + + /** + * Set the updatedBy property: The user who updated the record. + * + * @param updatedBy the updatedBy value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setUpdatedBy(String updatedBy) { + this.updatedBy = updatedBy; + return this; + } + + /** + * Get the version property: The version of the record. + * + * @return the version value. + */ + @Generated + public Long getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the record. + * + * @param version the version value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setVersion(Long version) { + this.version = version; + return this; + } + + /** + * Get the lastModifiedTS property: ETag for concurrency control. + * + * @return the lastModifiedTS value. + */ + @Generated + public String getLastModifiedTS() { + return this.lastModifiedTS; + } + + /** + * Set the lastModifiedTS property: ETag for concurrency control. + * + * @param lastModifiedTS the lastModifiedTS value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setLastModifiedTS(String lastModifiedTS) { + this.lastModifiedTS = lastModifiedTS; + return this; + } + + /** + * Get the attributeDefs property: An array of attribute definitions. + * + * @return the attributeDefs value. + */ + @Generated + public List getAttributeDefs() { + return this.attributeDefs; + } + + /** + * Set the attributeDefs property: An array of attribute definitions. + * + * @param attributeDefs the attributeDefs value to set. + * @return the TermTemplateDef object itself. + */ + @Generated + public TermTemplateDef setAttributeDefs(List attributeDefs) { + this.attributeDefs = attributeDefs; + return this; + } +} 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 new file mode 100644 index 0000000000000..c2d8d9f5c7874 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Captures time-boundary details. + */ +@Fluent +public final class TimeBoundary { + /* + * 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; + + /** + * Creates an instance of TimeBoundary class. + */ + @Generated + public TimeBoundary() { + } + + /** + * Get the endTime property: The end of the time boundary. + * + * @return the endTime value. + */ + @Generated + public String getEndTime() { + return this.endTime; + } + + /** + * Set the endTime property: The end of the time boundary. + * + * @param endTime the endTime value to set. + * @return the TimeBoundary object itself. + */ + @Generated + public TimeBoundary setEndTime(String endTime) { + this.endTime = endTime; + return this; + } + + /** + * Get the startTime property: The start of the time boundary. + * + * @return the startTime value. + */ + @Generated + public String getStartTime() { + return this.startTime; + } + + /** + * Set the startTime property: The start of the time boundary. + * + * @param startTime the startTime value to set. + * @return the TimeBoundary object itself. + */ + @Generated + public TimeBoundary setStartTime(String startTime) { + this.startTime = startTime; + return this; + } + + /** + * Get the timeZone property: The timezone of the time boundary. + * + * @return the timeZone value. + */ + @Generated + public String getTimeZone() { + return this.timeZone; + } + + /** + * Set the timeZone property: The timezone of the time boundary. + * + * @param timeZone the timeZone value to set. + * @return the TimeBoundary object itself. + */ + @Generated + public TimeBoundary setTimeZone(String timeZone) { + this.timeZone = timeZone; + return this; + } +} 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 new file mode 100644 index 0000000000000..92de8ea4c7109 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java @@ -0,0 +1,197 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** + * The timezone information. + */ +@Fluent +public final class TimeZone { + /* + * 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; + + /** + * Creates an instance of TimeZone class. + */ + @Generated + public TimeZone() { + } + + /** + * Get the dstSavings property: The value of the daylight saving time. + * + * @return the dstSavings value. + */ + @Generated + public Integer getDstSavings() { + return this.dstSavings; + } + + /** + * Set the dstSavings property: The value of the daylight saving time. + * + * @param dstSavings the dstSavings value to set. + * @return the TimeZone object itself. + */ + @Generated + public TimeZone setDstSavings(Integer dstSavings) { + this.dstSavings = dstSavings; + return this; + } + + /** + * Get the id property: The ID of the timezone. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The ID of the timezone. + * + * @param id the id value to set. + * @return the TimeZone object itself. + */ + @Generated + public TimeZone setId(String id) { + this.id = id; + return this; + } + + /** + * Get the availableIds property: An array of available IDs. + * + * @return the availableIds value. + */ + @Generated + public List getAvailableIds() { + return this.availableIds; + } + + /** + * Set the availableIds property: An array of available IDs. + * + * @param availableIds the availableIds value to set. + * @return the TimeZone object itself. + */ + @Generated + public TimeZone setAvailableIds(List availableIds) { + this.availableIds = availableIds; + return this; + } + + /** + * Get the defaultProperty property: The timezone information. + * + * @return the defaultProperty value. + */ + @Generated + public TimeZone getDefaultProperty() { + return this.defaultProperty; + } + + /** + * Set the defaultProperty property: The timezone information. + * + * @param defaultProperty the defaultProperty value to set. + * @return the TimeZone object itself. + */ + @Generated + public TimeZone setDefaultProperty(TimeZone defaultProperty) { + this.defaultProperty = defaultProperty; + return this; + } + + /** + * Get the displayName property: The display name of the timezone. + * + * @return the displayName value. + */ + @Generated + public String getDisplayName() { + return this.displayName; + } + + /** + * Set the displayName property: The display name of the timezone. + * + * @param displayName the displayName value to set. + * @return the TimeZone object itself. + */ + @Generated + public TimeZone setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the rawOffset property: The raw offset of the timezone. + * + * @return the rawOffset value. + */ + @Generated + public Integer getRawOffset() { + return this.rawOffset; + } + + /** + * Set the rawOffset property: The raw offset of the timezone. + * + * @param rawOffset the rawOffset value to set. + * @return the TimeZone object itself. + */ + @Generated + public TimeZone setRawOffset(Integer rawOffset) { + this.rawOffset = rawOffset; + return this; + } +} 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 new file mode 100644 index 0000000000000..d1e9080ebc23e --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Type Category. + */ +public final class TypeCategory extends ExpandableStringEnum { + /** + * primitive. + */ + @Generated + public static final TypeCategory PRIMITIVE = fromString("PRIMITIVE"); + + /** + * object id type. + */ + @Generated + public static final TypeCategory OBJECT_ID_TYPE = fromString("OBJECT_ID_TYPE"); + + /** + * enum. + */ + @Generated + public static final TypeCategory ENUM = fromString("ENUM"); + + /** + * struct. + */ + @Generated + public static final TypeCategory STRUCT = fromString("STRUCT"); + + /** + * classification. + */ + @Generated + public static final TypeCategory CLASSIFICATION = fromString("CLASSIFICATION"); + + /** + * entity. + */ + @Generated + public static final TypeCategory ENTITY = fromString("ENTITY"); + + /** + * array. + */ + @Generated + public static final TypeCategory ARRAY = fromString("ARRAY"); + + /** + * map. + */ + @Generated + public static final TypeCategory MAP = fromString("MAP"); + + /** + * relationship. + */ + @Generated + public static final TypeCategory RELATIONSHIP = fromString("RELATIONSHIP"); + + /** + * term template. + */ + @Generated + public static final TypeCategory TERM_TEMPLATE = fromString("TERM_TEMPLATE"); + + /** + * Creates a new instance of TypeCategory value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TypeCategory() { + } + + /** + * Creates or finds a TypeCategory from its string representation. + * + * @param name a name to look for. + * @return the corresponding TypeCategory. + */ + @Generated + @JsonCreator + public static TypeCategory fromString(String name) { + return fromString(name, TypeCategory.class); + } + + /** + * Gets known TypeCategory values. + * + * @return known TypeCategory values. + */ + @Generated + public static Collection values() { + return values(TypeCategory.class); + } +} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/package-info.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/package-info.java new file mode 100644 index 0000000000000..a9a754fa3d1b1 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the data models for PurviewDataMap. + * Purview Data Map Service is a fully managed cloud service whose users can + * discover the data sources they need and understand the data sources they find. + * At the same time, Data Map helps organizations get more value from their + * existing investments. This spec defines REST API of Purview Data Map Service. + */ +package com.azure.analytics.purview.datamap.models; diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/package-info.java b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/package-info.java new file mode 100644 index 0000000000000..7993c7c100b42 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/package-info.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +/** + * Package containing the classes for PurviewDataMap. + * Purview Data Map Service is a fully managed cloud service whose users can + * discover the data sources they need and understand the data sources they find. + * At the same time, Data Map helps organizations get more value from their + * existing investments. This spec defines REST API of Purview Data Map Service. + */ +package com.azure.analytics.purview.datamap; 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 new file mode 100644 index 0000000000000..5c48da1ea80f1 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/java/module-info.java @@ -0,0 +1,11 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +module com.azure.analytics.purview.datamap { + requires transitive com.azure.core; + exports com.azure.analytics.purview.datamap; + exports com.azure.analytics.purview.datamap.models; + opens com.azure.analytics.purview.datamap.implementation.models to com.azure.core, com.fasterxml.jackson.databind; + opens com.azure.analytics.purview.datamap.models to com.azure.core, com.fasterxml.jackson.databind; +} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/main/resources/azure-analytics-purview-datamap.properties b/sdk/purview/azure-analytics-purview-datamap/src/main/resources/azure-analytics-purview-datamap.properties new file mode 100644 index 0000000000000..ca812989b4f27 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/main/resources/azure-analytics-purview-datamap.properties @@ -0,0 +1,2 @@ +name=${project.artifactId} +version=${project.version} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/samples/java/com/azure/analytics/purview/datamap/ReadmeSamples.java b/sdk/purview/azure-analytics-purview-datamap/src/samples/java/com/azure/analytics/purview/datamap/ReadmeSamples.java new file mode 100644 index 0000000000000..d4746b358afdc --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/samples/java/com/azure/analytics/purview/datamap/ReadmeSamples.java @@ -0,0 +1,12 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap; + +public final class ReadmeSamples { + public void readmeSamples() { + // BEGIN: com.azure.analytics.purview.datamap.readme + // END: com.azure.analytics.purview.datamap.readme + } +} diff --git a/sdk/purview/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/DataMapClientTestBase.java b/sdk/purview/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/DataMapClientTestBase.java new file mode 100644 index 0000000000000..3f7886dd6a009 --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/DataMapClientTestBase.java @@ -0,0 +1,135 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.analytics.purview.datamap.generated; + +// The Java test files under 'generated' package are generated for your reference. +// If you wish to modify these files, please copy them out of the 'generated' package, and modify there. +// See https://aka.ms/azsdk/dpg/java/tests for guide on adding a test. + +import com.azure.analytics.purview.datamap.DataMapClientBuilder; +import com.azure.analytics.purview.datamap.DiscoveryClient; +import com.azure.analytics.purview.datamap.EntityClient; +import com.azure.analytics.purview.datamap.GlossaryClient; +import com.azure.analytics.purview.datamap.LineageClient; +import com.azure.analytics.purview.datamap.RelationshipClient; +import com.azure.analytics.purview.datamap.TypeDefinitionClient; +import com.azure.core.credential.AccessToken; +import com.azure.core.http.HttpClient; +import com.azure.core.http.policy.HttpLogDetailLevel; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.test.TestMode; +import com.azure.core.test.TestProxyTestBase; +import com.azure.core.util.Configuration; +import com.azure.identity.DefaultAzureCredentialBuilder; +import java.time.OffsetDateTime; +import reactor.core.publisher.Mono; + +class DataMapClientTestBase extends TestProxyTestBase { + protected EntityClient entityClient; + + protected GlossaryClient glossaryClient; + + protected DiscoveryClient discoveryClient; + + protected LineageClient lineageClient; + + protected RelationshipClient relationshipClient; + + protected TypeDefinitionClient typeDefinitionClient; + + @Override + protected void beforeTest() { + DataMapClientBuilder entityClientbuilder + = new DataMapClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + entityClientbuilder.httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + entityClientbuilder.addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + entityClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + entityClient = entityClientbuilder.buildEntityClient(); + + DataMapClientBuilder glossaryClientbuilder + = new DataMapClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + glossaryClientbuilder.httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + glossaryClientbuilder.addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + glossaryClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + glossaryClient = glossaryClientbuilder.buildGlossaryClient(); + + DataMapClientBuilder discoveryClientbuilder + = new DataMapClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + discoveryClientbuilder.httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + discoveryClientbuilder.addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + discoveryClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + discoveryClient = discoveryClientbuilder.buildDiscoveryClient(); + + DataMapClientBuilder lineageClientbuilder + = new DataMapClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + lineageClientbuilder.httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + lineageClientbuilder.addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + lineageClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + lineageClient = lineageClientbuilder.buildLineageClient(); + + DataMapClientBuilder relationshipClientbuilder + = new DataMapClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + relationshipClientbuilder.httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + relationshipClientbuilder.addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + relationshipClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + relationshipClient = relationshipClientbuilder.buildRelationshipClient(); + + DataMapClientBuilder typeDefinitionClientbuilder + = new DataMapClientBuilder().endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + typeDefinitionClientbuilder.httpClient(interceptorManager.getPlaybackClient()) + .credential(request -> Mono.just(new AccessToken("this_is_a_token", OffsetDateTime.MAX))); + } else if (getTestMode() == TestMode.RECORD) { + typeDefinitionClientbuilder.addPolicy(interceptorManager.getRecordPolicy()) + .credential(new DefaultAzureCredentialBuilder().build()); + } else if (getTestMode() == TestMode.LIVE) { + typeDefinitionClientbuilder.credential(new DefaultAzureCredentialBuilder().build()); + } + typeDefinitionClient = typeDefinitionClientbuilder.buildTypeDefinitionClient(); + + } +} diff --git a/sdk/purview/azure-analytics-purview-datamap/tsp-location.yaml b/sdk/purview/azure-analytics-purview-datamap/tsp-location.yaml new file mode 100644 index 0000000000000..1b91599496baf --- /dev/null +++ b/sdk/purview/azure-analytics-purview-datamap/tsp-location.yaml @@ -0,0 +1,5 @@ +commit: 81e485db5971b91436e418886c5847fe8af5bdf8 +additionalDirectories: [] +directory: specification/purview/Azure.Analytics.Purview.DataMap +repo: Azure/azure-rest-api-specs + diff --git a/sdk/purview/ci.yml b/sdk/purview/ci.yml index 3e1046cd3f841..c2c3abc8ee2f4 100644 --- a/sdk/purview/ci.yml +++ b/sdk/purview/ci.yml @@ -37,7 +37,6 @@ pr: - sdk/purview/azure-analytics-purview-workflow/pom.xml - sdk/purview/azure-resourcemanager-purview/pom.xml - parameters: - name: release_azureanalyticspurviewadministration displayName: azure-analytics-purview-administration @@ -63,6 +62,10 @@ parameters: displayName: azure-analytics-purview-workflow type: boolean default: true + - name: release_azureanalyticspurviewdatamap + displayName: azure-analytics-purview-datamap + type: boolean + default: true extends: template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml @@ -94,3 +97,7 @@ extends: groupId: com.azure safeName: azureanalyticspurviewworkflow releaseInBatch: ${{ parameters.release_azureanalyticspurviewworkflow }} + - name: azure-analytics-purview-datamap + groupId: com.azure + safeName: azureanalyticspurviewdatamap + releaseInBatch: ${{ parameters.release_azureanalyticspurviewdatamap }} diff --git a/sdk/purview/pom.xml b/sdk/purview/pom.xml index 0a8435eb4a423..1b597a2f5cd7c 100644 --- a/sdk/purview/pom.xml +++ b/sdk/purview/pom.xml @@ -11,6 +11,7 @@ azure-analytics-purview-administration azure-analytics-purview-catalog + azure-analytics-purview-datamap azure-analytics-purview-scanning azure-analytics-purview-sharing azure-analytics-purview-workflow