diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 5295f29349ac0..904d647cd9b33 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -195,6 +195,7 @@ com.azure:azure-template-perf;1.0.0-beta.1;1.0.0-beta.1 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-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.13.0;4.14.0-beta.1 diff --git a/pom.xml b/pom.xml index 48806d3b8a00e..71c134bf256f9 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,7 @@ sdk/automanage sdk/automation sdk/avs + sdk/azure.analytics.purview.datamap sdk/azureadexternalidentities sdk/azurearcdata sdk/azurestack diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/CHANGELOG.md b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/CHANGELOG.md new file mode 100644 index 0000000000000..f8126f8f5865c --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/README.md b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/README.md new file mode 100644 index 0000000000000..215af99ac816d --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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%2Fazure.analytics.purview.datamap%2Fazure-analytics-purview-datamap%2FREADME.png) diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/assets.json b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/assets.json new file mode 100644 index 0000000000000..c35329ef5f5e0 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/assets.json @@ -0,0 +1,6 @@ +{ + "AssetsRepo" : "Azure/azure-sdk-assets", + "AssetsRepoPrefixPath" : "java", + "TagPrefix" : "java/azure.analytics.purview.datamap/azure-analytics-purview-datamap", + "Tag" : "" +} \ No newline at end of file diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/pom.xml b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/pom.xml new file mode 100644 index 0000000000000..a85ebd8ed6ef7 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/pom.xml @@ -0,0 +1,95 @@ + + + 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.45.0 + + + com.azure + azure-core-http-netty + 1.13.10 + + + org.junit.jupiter + junit-jupiter-api + 5.9.3 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.9.3 + test + + + org.mockito + mockito-core + 4.11.0 + test + + + com.azure + azure-core-test + 1.22.0 + test + + + com.azure + azure-identity + 1.11.0 + test + + + org.slf4j + slf4j-simple + 1.7.36 + test + + + diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapAsyncClient.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapAsyncClient.java new file mode 100644 index 0000000000000..1060923686082 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapAsyncClient.java @@ -0,0 +1,12890 @@ +// 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.PurviewDataMapClientImpl; +import com.azure.analytics.purview.datamap.models.AtlasBusinessMetadataDef; +import com.azure.analytics.purview.datamap.models.AtlasClassification; +import com.azure.analytics.purview.datamap.models.AtlasClassificationDef; +import com.azure.analytics.purview.datamap.models.AtlasClassifications; +import com.azure.analytics.purview.datamap.models.AtlasEntitiesWithExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasEntityDef; +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.AtlasEnumDef; +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.AtlasLineageInfo; +import com.azure.analytics.purview.datamap.models.AtlasRelatedObjectId; +import com.azure.analytics.purview.datamap.models.AtlasRelationship; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipDef; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipWithExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasStructDef; +import com.azure.analytics.purview.datamap.models.AtlasTypeDef; +import com.azure.analytics.purview.datamap.models.AtlasTypesDef; +import com.azure.analytics.purview.datamap.models.AutoCompleteRequest; +import com.azure.analytics.purview.datamap.models.AutoCompleteResult; +import com.azure.analytics.purview.datamap.models.BulkImportResponse; +import com.azure.analytics.purview.datamap.models.BusinessAttributeUpdateBehavior; +import com.azure.analytics.purview.datamap.models.ClassificationAssociateRequest; +import com.azure.analytics.purview.datamap.models.Direction; +import com.azure.analytics.purview.datamap.models.EntityMutationResponse; +import com.azure.analytics.purview.datamap.models.MoveEntitiesRequest; +import com.azure.analytics.purview.datamap.models.SearchRequest; +import com.azure.analytics.purview.datamap.models.SearchResult; +import com.azure.analytics.purview.datamap.models.SuggestRequest; +import com.azure.analytics.purview.datamap.models.SuggestResult; +import com.azure.analytics.purview.datamap.models.TermTemplateDef; +import com.azure.analytics.purview.datamap.models.Type; +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 java.util.List; +import java.util.Map; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous PurviewDataMapClient type. + */ +@ServiceClient(builder = PurviewDataMapClientBuilder.class, isAsync = true) +public final class PurviewDataMapAsyncClient { + @Generated + private final PurviewDataMapClientImpl serviceClient; + + /** + * Initializes an instance of PurviewDataMapAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + PurviewDataMapAsyncClient(PurviewDataMapClientImpl 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge". + * @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 entity Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrUpdateWithResponse(String businessAttributeUpdateBehavior, + String collectionId, BinaryData entity, RequestOptions requestOptions) { + return this.serviceClient.createOrUpdateWithResponseAsync(businessAttributeUpdateBehavior, collectionId, entity, + requestOptions); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listByGuidsWithResponse(List guid, boolean minExtInfo, + boolean ignoreRelationships, RequestOptions requestOptions) { + return this.serviceClient.listByGuidsWithResponseAsync(guid, minExtInfo, ignoreRelationships, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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. 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. Allowed values: "ignore", "replace", "merge". + * @param entities An array of entities to create or 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 mutation response of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> bulkCreateOrUpdateWithResponse(String collectionId, + String businessAttributeUpdateBehavior, BinaryData entities, RequestOptions requestOptions) { + return this.serviceClient.bulkCreateOrUpdateWithResponseAsync(collectionId, businessAttributeUpdateBehavior, + entities, requestOptions); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> bulkDeleteWithResponse(List guid, RequestOptions requestOptions) { + return this.serviceClient.bulkDeleteWithResponseAsync(guid, requestOptions); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 request The request to associate a classification to multiple entities. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 request, RequestOptions requestOptions) { + return this.serviceClient.addClassificationWithResponseAsync(request, requestOptions); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean minExtInfo, boolean ignoreRelationships, + RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(guid, minExtInfo, ignoreRelationships, 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateAttributeByGuidWithResponse(String guid, String name, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateAttributeByGuidWithResponseAsync(guid, name, body, requestOptions); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 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 (Optional)
+     *     }
+     *     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 (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationsWithResponseAsync(guid, classifications, requestOptions); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsWithResponseAsync(guid, classifications, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> getByUniqueAttributesWithResponse(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attr, RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributesWithResponseAsync(typeName, minExtInfo, ignoreRelationships, + attr, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasEntityWithExtInfo Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateByUniqueAttributesWithResponse(String typeName, String attr, + BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateByUniqueAttributesWithResponseAsync(typeName, attr, + 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteByUniqueAttributeWithResponse(String typeName, String attr, + RequestOptions requestOptions) { + return this.serviceClient.deleteByUniqueAttributeWithResponseAsync(typeName, attr, requestOptions); + } + + /** + * 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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, RequestOptions requestOptions) { + return this.serviceClient.removeClassificationByUniqueAttributeWithResponseAsync(typeName, classificationName, + attr, requestOptions); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + return this.serviceClient.addClassificationsByUniqueAttributeWithResponseAsync(typeName, attr, + atlasClassificationArray, requestOptions); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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> updateClassificationsByUniqueAttributeWithResponse(String typeName, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsByUniqueAttributeWithResponseAsync(typeName, attr, + atlasClassificationArray, requestOptions); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 entityHeaders Atlas entity headers. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkSetClassificationsWithResponse(BinaryData entityHeaders, + RequestOptions requestOptions) { + return this.serviceClient.bulkSetClassificationsWithResponseAsync(entityHeaders, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listByUniqueAttributesWithResponse(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attrNQualifiedName, RequestOptions requestOptions) { + return this.serviceClient.listByUniqueAttributesWithResponseAsync(typeName, minExtInfo, ignoreRelationships, + attrNQualifiedName, requestOptions); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Optional)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param businessMetadata 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 businessMetadata, + RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataWithResponseAsync(guid, businessMetadata, requestOptions); + } + + /** + * Add business metadata to an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param isOverwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @param businessMetadata 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, boolean isOverwrite, + BinaryData businessMetadata, RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataWithResponseAsync(guid, isOverwrite, businessMetadata, + requestOptions); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataAttributesWithResponseAsync(bmName, guid, + businessMetadataAttributes, requestOptions); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataAttributesWithResponseAsync(bmName, guid, + businessMetadataAttributes, requestOptions); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> getSampleBusinessMetadataTemplateWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getSampleBusinessMetadataTemplateWithResponseAsync(requestOptions); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Request Body Schema + *

+ *
{@code
+     * byte[]
+     * }
+ *

+ * 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 uploadedInputStream InputStream of file. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return example along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> importBusinessMetadataWithResponse(BinaryData uploadedInputStream, + RequestOptions requestOptions) { + return this.serviceClient.importBusinessMetadataWithResponseAsync(uploadedInputStream, requestOptions); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.removeLabelsWithResponseAsync(guid, body, requestOptions); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be set to 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, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.setLabelsWithResponseAsync(guid, body, requestOptions); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels 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> addLabelWithResponse(String guid, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.addLabelWithResponseAsync(guid, body, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.removeLabelsByUniqueAttributeWithResponseAsync(typeName, attr, body, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.setLabelsByUniqueAttributeWithResponseAsync(typeName, attr, body, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addLabelsByUniqueAttributeWithResponseAsync(typeName, attr, body, requestOptions); + } + + /** + * Move existing entities to the target collection. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 moveEntitiesRequest Entity guids to be moved to target collection. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> moveEntitiesToCollectionWithResponse(String collectionId, + BinaryData moveEntitiesRequest, RequestOptions requestOptions) { + return this.serviceClient.moveEntitiesToCollectionWithResponseAsync(collectionId, moveEntitiesRequest, + 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listWithResponse(int limit, int offset, String sort, boolean ignoreTermsAndCategories, + RequestOptions requestOptions) { + return this.serviceClient.listWithResponseAsync(limit, offset, sort, ignoreTermsAndCategories, requestOptions); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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 (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 glossaryCategory 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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategoriesWithResponse(BinaryData glossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.createCategoriesWithResponseAsync(glossaryCategory, requestOptions); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryCategory The glossary category definition. A category must be anchored to a Glossary + * when creating. + * Optionally, terms belonging to the category and the hierarchy + * can also be defined during creation. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 glossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.createCategoryWithResponseAsync(glossaryCategory, requestOptions); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + return this.serviceClient.getCategoryWithResponseAsync(categoryGuid, requestOptions); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param glossaryCategory The glossary category 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 category along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateCategoryWithResponse(String categoryGuid, BinaryData glossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.updateCategoryWithResponseAsync(categoryGuid, glossaryCategory, requestOptions); + } + + /** + * Delete a glossary category. + * + * @param categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + return this.serviceClient.deleteCategoryWithResponseAsync(categoryGuid, requestOptions); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param partialUpdates 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 categoryGuid, BinaryData partialUpdates, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateCategoryWithResponseAsync(categoryGuid, partialUpdates, 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. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listRelatedCategoriesWithResponse(String categoryGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + return this.serviceClient.listRelatedCategoriesWithResponseAsync(categoryGuid, limit, offset, sort, + requestOptions); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listCategoryTermsWithResponse(String categoryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listCategoryTermsWithResponseAsync(categoryGuid, limit, offset, sort, requestOptions); + } + + /** + * Create a glossary term. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term definition. A term must be anchored to a Glossary at the time + * of creation. + * Optionally it can be categorized as well. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.createTermWithResponseAsync(includeTermHierarchy, glossaryTerm, requestOptions); + } + + /** + * Get a specific glossary term by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid 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 termGuid, RequestOptions requestOptions) { + return this.serviceClient.getTermWithResponseAsync(termGuid, requestOptions); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term 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> updateTermWithResponse(String termGuid, boolean includeTermHierarchy, + BinaryData glossaryTerm, RequestOptions requestOptions) { + return this.serviceClient.updateTermWithResponseAsync(termGuid, includeTermHierarchy, glossaryTerm, + requestOptions); + } + + /** + * Delete a glossary term. + * + * @param termGuid 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 termGuid, RequestOptions requestOptions) { + return this.serviceClient.deleteTermWithResponseAsync(termGuid, requestOptions); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param partialUpdates 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 termGuid, boolean includeTermHierarchy, + BinaryData partialUpdates, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateTermWithResponseAsync(termGuid, includeTermHierarchy, partialUpdates, + requestOptions); + } + + /** + * Create glossary terms in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 (Optional)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm 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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTermsWithResponse(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.createTermsWithResponseAsync(includeTermHierarchy, glossaryTerm, requestOptions); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> listEntitiesAssignedWithTermWithResponse(String termGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + return this.serviceClient.listEntitiesAssignedWithTermWithResponseAsync(termGuid, limit, offset, sort, + 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, BinaryData relatedObjectIds, + RequestOptions requestOptions) { + return this.serviceClient.assignTermToEntitiesWithResponseAsync(termGuid, relatedObjectIds, 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, + BinaryData relatedObjectIds, RequestOptions requestOptions) { + return this.serviceClient.deleteTermAssignmentFromEntitiesWithResponseAsync(termGuid, relatedObjectIds, + 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. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listRelatedTermsWithResponse(String termGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listRelatedTermsWithResponseAsync(termGuid, limit, offset, sort, requestOptions); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(glossaryGuid, requestOptions); + } + + /** + * Update the given glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateWithResponse(String glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData updatedGlossary, RequestOptions requestOptions) { + return this.serviceClient.updateWithResponseAsync(glossaryGuid, ignoreTermsAndCategories, updatedGlossary, + requestOptions); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponseAsync(glossaryGuid, requestOptions); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> listCategoriesWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listCategoriesWithResponseAsync(glossaryGuid, limit, offset, sort, requestOptions); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> listCategoriesHeadersWithResponse(String glossaryGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + return this.serviceClient.listCategoriesHeadersWithResponseAsync(glossaryGuid, limit, offset, sort, + 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/{glossaryGuid}/terms' and + * + * 'GET + * '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + return this.serviceClient.getDetailedWithResponseAsync(glossaryGuid, 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. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param partialUpdates 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 glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData partialUpdates, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateWithResponseAsync(glossaryGuid, ignoreTermsAndCategories, partialUpdates, + requestOptions); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listTermsWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listTermsWithResponseAsync(glossaryGuid, limit, offset, sort, requestOptions); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listTermHeadersWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listTermHeadersWithResponseAsync(glossaryGuid, limit, offset, sort, requestOptions); + } + + /** + * 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: Object (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: Integer (Optional)
+     *             updateTime: Integer (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 searchRequest An object specifying the search criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 searchRequest, RequestOptions requestOptions) { + return this.serviceClient.queryWithResponseAsync(searchRequest, 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: Integer (Optional)
+     *             updateTime: Integer (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 suggestRequest An object specifying the suggest criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 suggestRequest, RequestOptions requestOptions) { + return this.serviceClient.suggestWithResponseAsync(suggestRequest, 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 autoCompleteRequest An object specifying the autocomplete criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 autoCompleteRequest, + RequestOptions requestOptions) { + return this.serviceClient.autoCompleteWithResponseAsync(autoCompleteRequest, requestOptions); + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, int depth, String direction, + RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(guid, depth, direction, requestOptions); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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: "BOTH", + * "INPUT", "OUTPUT". + * @param offset The offset for pagination purpose. + * @param limit The page size - by default there is no paging. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int offset, int limit, + RequestOptions requestOptions) { + return this.serviceClient.getNextPageWithResponseAsync(guid, direction, offset, limit, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int depth, String direction, + String attr, RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributeWithResponseAsync(typeName, depth, direction, attr, + requestOptions); + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Double (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Integer (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Double (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @param extendedInfo Limits whether includes extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean extendedInfo, + RequestOptions requestOptions) { + return this.serviceClient.getWithResponseAsync(guid, extendedInfo, 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); + } + + /** + * 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getBusinessMetadataDefByGuidWithResponse(String guid, + RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getBusinessMetadataDefByNameWithResponse(String name, + RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataDefByNameWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getClassificationDefByGuidWithResponse(String guid, + RequestOptions requestOptions) { + return this.serviceClient.getClassificationDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getClassificationDefByNameWithResponse(String name, + RequestOptions requestOptions) { + return this.serviceClient.getClassificationDefByNameWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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> getEntityDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEntityDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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> getEntityDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEntityDefByNameWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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> getEnumDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEnumDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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> getEnumDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEnumDefByNameWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getRelationshipDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getRelationshipDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipDefByNameWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getStructDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getStructDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getStructDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getStructDefByNameWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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> getByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listWithResponse(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + return this.serviceClient.listWithResponseAsync(includeTermTemplate, type, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite wrapper object with corresponding lists of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkCreateWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + return this.serviceClient.bulkCreateWithResponseAsync(typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all type definition changes. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkUpdateWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + return this.serviceClient.bulkUpdateWithResponseAsync(typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all types to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkDeleteWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + return this.serviceClient.bulkDeleteWithResponseAsync(typesDef, requestOptions); + } + + /** + * 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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listHeadersWithResponse(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + return this.serviceClient.listHeadersWithResponseAsync(includeTermTemplate, type, 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getTermTemplateDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateDefByGuidWithResponseAsync(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> getTermTemplateDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateDefByNameWithResponseAsync(name, 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 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. + * @param entity Atlas entity with 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 the mutation response of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrUpdate(BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior, + String collectionId, AtlasEntityWithExtInfo entity) { + // Generated convenience method for createOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrUpdateWithResponse(businessAttributeUpdateBehavior.toString(), collectionId, + BinaryData.fromObject(entity), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.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 listByGuids(List guid, boolean minExtInfo, + boolean ignoreRelationships) { + // Generated convenience method for listByGuidsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listByGuidsWithResponse(guid, minExtInfo, ignoreRelationships, 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 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. + * @param entities An array of entities to create or 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 mutation response of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono bulkCreateOrUpdate(String collectionId, + BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior, AtlasEntitiesWithExtInfo entities) { + // Generated convenience method for bulkCreateOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkCreateOrUpdateWithResponse(collectionId, businessAttributeUpdateBehavior.toString(), + BinaryData.fromObject(entities), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.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 of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono bulkDelete(List guid) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkDeleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.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 of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono bulkDelete(List guid) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + for (String paramItemValue : guid) { + if (paramItemValue != null) { + requestOptions.addQueryParam("guid", paramItemValue, false); + } + } + return bulkDeleteWithResponse(typesDef, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Associate a classification to multiple entities in bulk. + * + * @param request The request to associate a classification to multiple 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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono addClassification(ClassificationAssociateRequest request) { + // Generated convenience method for addClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addClassificationWithResponse(BinaryData.fromObject(request), 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(); + return getWithResponse(guid, minExtInfo, ignoreRelationships, 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. + * @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(); + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + return getWithResponse(glossaryGuid, 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. + * @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(); + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + return getWithResponse(guid, depth, direction, 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. + * @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(); + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + return getWithResponse(guid, extendedInfo, 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 of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdateAttributeByGuid(String guid, String name, Object body) { + // Generated convenience method for partialUpdateAttributeByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateAttributeByGuidWithResponse(guid, name, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.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 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(EntityMutationResponse.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 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(glossaryGuid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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 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); + } + + /** + * 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 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(name, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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 classifications 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 classifications) { + // Generated convenience method for addClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addClassificationsWithResponse(guid, BinaryData.fromObject(classifications), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Update classifications to an existing entity represented by a guid. + * + * @param guid The globally unique identifier of the entity. + * @param classifications 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 classifications) { + // Generated convenience method for updateClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateClassificationsWithResponse(guid, BinaryData.fromObject(classifications), 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 attr 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 getByUniqueAttributes(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attr) { + // Generated convenience method for getByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributesWithResponse(typeName, minExtInfo, ignoreRelationships, attr, 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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasEntityWithExtInfo Atlas entity with 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 the mutation response of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono partialUpdateByUniqueAttributes(String typeName, String attr, + AtlasEntityWithExtInfo atlasEntityWithExtInfo) { + // Generated convenience method for partialUpdateByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateByUniqueAttributesWithResponse(typeName, attr, + BinaryData.fromObject(atlasEntityWithExtInfo), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.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 attr 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 of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteByUniqueAttribute(String typeName, String attr) { + // Generated convenience method for deleteByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteByUniqueAttributeWithResponse(typeName, attr, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.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 attr 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 attr) { + // Generated convenience method for removeClassificationByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, attr, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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, String attr, + List atlasClassificationArray) { + // Generated convenience method for addClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addClassificationsByUniqueAttributeWithResponse(typeName, attr, + BinaryData.fromObject(atlasClassificationArray), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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 updateClassificationsByUniqueAttribute(String typeName, String attr, + List atlasClassificationArray) { + // Generated convenience method for updateClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateClassificationsByUniqueAttributeWithResponse(typeName, attr, + BinaryData.fromObject(atlasClassificationArray), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Set classifications on entities in bulk. + * + * @param entityHeaders Atlas entity headers. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 bulkSetClassifications(AtlasEntityHeaders entityHeaders) { + // Generated convenience method for bulkSetClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkSetClassificationsWithResponse(BinaryData.fromObject(entityHeaders), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * 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 listByUniqueAttributes(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attrNQualifiedName) { + // Generated convenience method for listByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listByUniqueAttributesWithResponse(typeName, minExtInfo, ignoreRelationships, attrNQualifiedName, + 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 businessMetadata 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 businessMetadata) { + // Generated convenience method for removeBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeBusinessMetadataWithResponse(guid, BinaryData.fromObject(businessMetadata), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Add business metadata to an entity. + * + * @param guid The globally unique identifier of the entity. + * @param isOverwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @param businessMetadata 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, boolean isOverwrite, + Map businessMetadata) { + // Generated convenience method for addOrUpdateBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addOrUpdateBusinessMetadataWithResponse(guid, isOverwrite, BinaryData.fromObject(businessMetadata), + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete business metadata attributes from an entity. + * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + Map businessMetadataAttributes) { + // Generated convenience method for removeBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeBusinessMetadataAttributesWithResponse(bmName, guid, + BinaryData.fromObject(businessMetadataAttributes), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Add or update business metadata attributes. + * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + Map businessMetadataAttributes) { + // Generated convenience method for addOrUpdateBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addOrUpdateBusinessMetadataAttributesWithResponse(bmName, guid, + BinaryData.fromObject(businessMetadataAttributes), 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 getSampleBusinessMetadataTemplate() { + // Generated convenience method for getSampleBusinessMetadataTemplateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSampleBusinessMetadataTemplateWithResponse(requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Upload the file for creating Business Metadata in BULK. + * + * @param uploadedInputStream 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 example on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono importBusinessMetadata(byte[] uploadedInputStream) { + // Generated convenience method for importBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + return importBusinessMetadataWithResponse(BinaryData.fromObject(uploadedInputStream), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(BulkImportResponse.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(); + return removeLabelsWithResponse(guid, BinaryData.fromObject(body), 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(); + return setLabelsWithResponse(guid, BinaryData.fromObject(body), 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(); + return addLabelWithResponse(guid, BinaryData.fromObject(body), 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 attr 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 attr, List body) { + // Generated convenience method for removeLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return removeLabelsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(body), 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 attr 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 attr, List body) { + // Generated convenience method for setLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return setLabelsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(body), 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 attr 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 attr, List body) { + // Generated convenience method for addLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return addLabelsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Move existing entities to the target collection. + * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesRequest Entity guids to be moved to target 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 of entity on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono moveEntitiesToCollection(String collectionId, + MoveEntitiesRequest moveEntitiesRequest) { + // Generated convenience method for moveEntitiesToCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return moveEntitiesToCollectionWithResponse(collectionId, BinaryData.fromObject(moveEntitiesRequest), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(EntityMutationResponse.class)); + } + + /** + * 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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 list(int limit, int offset, String sort, boolean ignoreTermsAndCategories) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listWithResponse(limit, offset, sort, ignoreTermsAndCategories, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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 list(int limit, int offset, String sort, boolean ignoreTermsAndCategories) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + requestOptions.addQueryParam("sort", sort, false); + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + return listWithResponse(includeTermTemplate, type, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Create a glossary. + * + * @param atlasGlossary Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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 a glossary. + * + * @param atlasGlossary Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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 glossaryCategory 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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createCategories(List glossaryCategory) { + // Generated convenience method for createCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoriesWithResponse(BinaryData.fromObject(glossaryCategory), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Create a glossary category. + * + * @param glossaryCategory The glossary category definition. A category must be anchored to a Glossary + * when creating. + * Optionally, terms belonging to the category and the hierarchy + * can also be defined during creation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 glossaryCategory) { + // Generated convenience method for createCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoryWithResponse(BinaryData.fromObject(glossaryCategory), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * Get specific glossary category by its GUID. + * + * @param categoryGuid 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 categoryGuid) { + // Generated convenience method for getCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoryWithResponse(categoryGuid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * Update the given glossary category by its GUID. + * + * @param categoryGuid The globally unique identifier of the category. + * @param glossaryCategory The glossary category 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 category on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateCategory(String categoryGuid, AtlasGlossaryCategory glossaryCategory) { + // Generated convenience method for updateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateCategoryWithResponse(categoryGuid, BinaryData.fromObject(glossaryCategory), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryCategory.class)); + } + + /** + * Delete a glossary category. + * + * @param categoryGuid 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 categoryGuid) { + // Generated convenience method for deleteCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteCategoryWithResponse(categoryGuid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + * + * @param categoryGuid The globally unique identifier of the category. + * @param partialUpdates 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 categoryGuid, Object partialUpdates) { + // Generated convenience method for partialUpdateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateCategoryWithResponse(categoryGuid, BinaryData.fromObject(partialUpdates), 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 categoryGuid 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 listRelatedCategories(String categoryGuid, int limit, int offset, String sort) { + // Generated convenience method for listRelatedCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listRelatedCategoriesWithResponse(categoryGuid, limit, offset, sort, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryGuid 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 listCategoryTerms(String categoryGuid, int limit, int offset, String sort) { + // Generated convenience method for listCategoryTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listCategoryTermsWithResponse(categoryGuid, limit, offset, sort, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Create a glossary term. + * + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term definition. A term must be anchored to a Glossary at the time + * of creation. + * Optionally it can be categorized as well. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(boolean includeTermHierarchy, AtlasGlossaryTerm glossaryTerm) { + // Generated convenience method for createTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTermWithResponse(includeTermHierarchy, BinaryData.fromObject(glossaryTerm), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Get a specific glossary term by its GUID. + * + * @param termGuid 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 termGuid) { + // Generated convenience method for getTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermWithResponse(termGuid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Update the given glossary term by its GUID. + * + * @param termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term 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 updateTerm(String termGuid, boolean includeTermHierarchy, + AtlasGlossaryTerm glossaryTerm) { + // Generated convenience method for updateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateTermWithResponse(termGuid, includeTermHierarchy, BinaryData.fromObject(glossaryTerm), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Delete a glossary term. + * + * @param termGuid 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 termGuid) { + // Generated convenience method for deleteTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteTermWithResponse(termGuid, 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param partialUpdates 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 termGuid, boolean includeTermHierarchy, + Object partialUpdates) { + // Generated convenience method for partialUpdateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateTermWithResponse(termGuid, includeTermHierarchy, BinaryData.fromObject(partialUpdates), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossaryTerm.class)); + } + + /** + * Create glossary terms in bulk. + * + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm 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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createTerms(boolean includeTermHierarchy, List glossaryTerm) { + // Generated convenience method for createTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTermsWithResponse(includeTermHierarchy, BinaryData.fromObject(glossaryTerm), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termGuid 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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono listEntitiesAssignedWithTerm(String termGuid, int limit, int offset, String sort) { + // Generated convenience method for listEntitiesAssignedWithTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listEntitiesAssignedWithTermWithResponse(termGuid, limit, offset, sort, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * 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 termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, List relatedObjectIds) { + // Generated convenience method for assignTermToEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return assignTermToEntitiesWithResponse(termGuid, BinaryData.fromObject(relatedObjectIds), requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * Delete the term assignment for the given list of related objects. + * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, List relatedObjectIds) { + // Generated convenience method for deleteTermAssignmentFromEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteTermAssignmentFromEntitiesWithResponse(termGuid, BinaryData.fromObject(relatedObjectIds), + 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 termGuid 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 listRelatedTerms(String termGuid, int limit, int offset, String sort) { + // Generated convenience method for listRelatedTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listRelatedTermsWithResponse(termGuid, limit, offset, sort, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, minExtInfo, ignoreRelationships, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(glossaryGuid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, depth, direction, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, extendedInfo, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Update the given glossary. + * + * @param glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono update(String glossaryGuid, boolean ignoreTermsAndCategories, + AtlasGlossary updatedGlossary) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(glossaryGuid, ignoreTermsAndCategories, BinaryData.fromObject(updatedGlossary), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasGlossary.class)); + } + + /** + * Update the given glossary. + * + * @param glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono update(String glossaryGuid, boolean ignoreTermsAndCategories, + AtlasGlossary updatedGlossary) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + return updateWithResponse(BinaryData.fromObject(updatedGlossary), 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 glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(glossaryGuid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(name, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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 listCategories(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listCategoriesWithResponse(glossaryGuid, limit, offset, sort, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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 listCategoriesHeaders(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listCategoriesHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listCategoriesHeadersWithResponse(glossaryGuid, limit, offset, sort, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * 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/{glossaryGuid}/terms' and + * + * 'GET + * '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getDetailedWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getDetailedWithResponse(glossaryGuid, 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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param partialUpdates 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 glossaryGuid, boolean ignoreTermsAndCategories, + Object partialUpdates) { + // Generated convenience method for partialUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateWithResponse(glossaryGuid, ignoreTermsAndCategories, BinaryData.fromObject(partialUpdates), + 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 glossaryGuid 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 listTerms(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listTermsWithResponse(glossaryGuid, limit, offset, sort, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryGuid 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 listTermHeaders(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listTermHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listTermHeadersWithResponse(glossaryGuid, limit, offset, sort, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get data using search. + * + * @param searchRequest An object specifying the search criteria. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(SearchRequest searchRequest) { + // Generated convenience method for queryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return queryWithResponse(BinaryData.fromObject(searchRequest), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SearchResult.class)); + } + + /** + * Get search suggestions by query criteria. + * + * @param suggestRequest An object specifying the suggest criteria. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(SuggestRequest suggestRequest) { + // Generated convenience method for suggestWithResponse + RequestOptions requestOptions = new RequestOptions(); + return suggestWithResponse(BinaryData.fromObject(suggestRequest), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SuggestResult.class)); + } + + /** + * Get auto complete options. + * + * @param autoCompleteRequest An object specifying the autocomplete criteria. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(AutoCompleteRequest autoCompleteRequest) { + // Generated convenience method for autoCompleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return autoCompleteWithResponse(BinaryData.fromObject(autoCompleteRequest), requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AutoCompleteResult.class)); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + requestOptions.addQueryParam("direction", direction.toString(), false); + return getWithResponse(guid, minExtInfo, ignoreRelationships, 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 depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + requestOptions.addQueryParam("direction", direction.toString(), false); + return getWithResponse(glossaryGuid, 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 depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, depth, 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 depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + requestOptions.addQueryParam("direction", direction.toString(), false); + return getWithResponse(guid, extendedInfo, 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, Direction direction, int offset, int limit) { + // Generated convenience method for getNextPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getNextPageWithResponse(guid, direction.toString(), offset, limit, 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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param attr 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, int depth, Direction direction, String attr) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributeWithResponse(typeName, depth, direction.toString(), attr, requestOptions) + .flatMap(FluxUtil::toMono).map(protocolMethodData -> protocolMethodData.toObject(AtlasLineageInfo.class)); + } + + /** + * Create a new relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono create(AtlasRelationship relationship) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(relationship), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationship.class)); + } + + /** + * Create a new relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono create(AtlasRelationship relationship) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(relationship), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationship.class)); + } + + /** + * Update an existing relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono update(AtlasRelationship relationship) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(glossaryGuid, ignoreTermsAndCategories, BinaryData.fromObject(relationship), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasRelationship.class)); + } + + /** + * Update an existing relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono update(AtlasRelationship relationship) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(BinaryData.fromObject(relationship), 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(); + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + return getWithResponse(guid, minExtInfo, ignoreRelationships, 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. + * @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(); + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + return getWithResponse(glossaryGuid, 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. + * @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(); + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + return getWithResponse(guid, depth, direction, 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. + * @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(); + return getWithResponse(guid, extendedInfo, 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); + } + + /** + * 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(glossaryGuid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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); + } + + /** + * 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(name, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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 getBusinessMetadataDefByGuid(String guid) { + // Generated convenience method for getBusinessMetadataDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataDefByGuidWithResponse(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 getBusinessMetadataDefByName(String name) { + // Generated convenience method for getBusinessMetadataDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataDefByNameWithResponse(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 getClassificationDefByGuid(String guid) { + // Generated convenience method for getClassificationDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationDefByGuidWithResponse(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 getClassificationDefByName(String name) { + // Generated convenience method for getClassificationDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationDefByNameWithResponse(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 getEntityDefByGuid(String guid) { + // Generated convenience method for getEntityDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityDefByGuidWithResponse(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 getEntityDefByName(String name) { + // Generated convenience method for getEntityDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityDefByNameWithResponse(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 getEnumDefByGuid(String guid) { + // Generated convenience method for getEnumDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumDefByGuidWithResponse(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 getEnumDefByName(String name) { + // Generated convenience method for getEnumDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumDefByNameWithResponse(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 getRelationshipDefByGuid(String guid) { + // Generated convenience method for getRelationshipDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipDefByGuidWithResponse(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 getRelationshipDefByName(String name) { + // Generated convenience method for getRelationshipDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipDefByNameWithResponse(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 getStructDefByGuid(String guid) { + // Generated convenience method for getStructDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructDefByGuidWithResponse(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 getStructDefByName(String name) { + // Generated convenience method for getStructDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructDefByNameWithResponse(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 getByGuid(String guid) { + // Generated convenience method for getByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByGuidWithResponse(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(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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(glossaryGuid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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 list(boolean includeTermTemplate, Type type) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("includeTermTemplate", String.valueOf(includeTermTemplate), false); + requestOptions.addQueryParam("type", type.toString(), false); + return listWithResponse(limit, offset, sort, ignoreTermsAndCategories, 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 list(boolean includeTermTemplate, Type type) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listWithResponse(includeTermTemplate, type.toString(), 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 typesDef A composite wrapper object with corresponding lists of the type definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 bulkCreate(AtlasTypesDef typesDef) { + // Generated convenience method for bulkCreateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkCreateWithResponse(BinaryData.fromObject(typesDef), 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 typesDef A composite object that captures all type definition changes. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 bulkUpdate(AtlasTypesDef typesDef) { + // Generated convenience method for bulkUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkUpdateWithResponse(BinaryData.fromObject(typesDef), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AtlasTypesDef.class)); + } + + /** + * Delete API for all types in bulk. + * + * @param typesDef A composite object that captures all types 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 bulkDelete(AtlasTypesDef typesDef) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.setBody(BinaryData.fromObject(typesDef)); + return bulkDeleteWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Delete API for all types in bulk. + * + * @param typesDef A composite object that captures all types 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 bulkDelete(AtlasTypesDef typesDef) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkDeleteWithResponse(BinaryData.fromObject(typesDef), 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 A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono listHeaders(boolean includeTermTemplate, Type type) { + // Generated convenience method for listHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listHeadersWithResponse(includeTermTemplate, type.toString(), requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * 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 getTermTemplateDefByGuid(String guid) { + // Generated convenience method for getTermTemplateDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateDefByGuidWithResponse(guid, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TermTemplateDef.class)); + } + + /** + * Get the term template definition by its name (unique). + * + * @param name The name of the type definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 getTermTemplateDefByName(String name) { + // Generated convenience method for getTermTemplateDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateDefByNameWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TermTemplateDef.class)); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapClient.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapClient.java new file mode 100644 index 0000000000000..f3b937126ee17 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapClient.java @@ -0,0 +1,12731 @@ +// 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.PurviewDataMapClientImpl; +import com.azure.analytics.purview.datamap.models.AtlasBusinessMetadataDef; +import com.azure.analytics.purview.datamap.models.AtlasClassification; +import com.azure.analytics.purview.datamap.models.AtlasClassificationDef; +import com.azure.analytics.purview.datamap.models.AtlasClassifications; +import com.azure.analytics.purview.datamap.models.AtlasEntitiesWithExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasEntityDef; +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.AtlasEnumDef; +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.AtlasLineageInfo; +import com.azure.analytics.purview.datamap.models.AtlasRelatedObjectId; +import com.azure.analytics.purview.datamap.models.AtlasRelationship; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipDef; +import com.azure.analytics.purview.datamap.models.AtlasRelationshipWithExtInfo; +import com.azure.analytics.purview.datamap.models.AtlasStructDef; +import com.azure.analytics.purview.datamap.models.AtlasTypeDef; +import com.azure.analytics.purview.datamap.models.AtlasTypesDef; +import com.azure.analytics.purview.datamap.models.AutoCompleteRequest; +import com.azure.analytics.purview.datamap.models.AutoCompleteResult; +import com.azure.analytics.purview.datamap.models.BulkImportResponse; +import com.azure.analytics.purview.datamap.models.BusinessAttributeUpdateBehavior; +import com.azure.analytics.purview.datamap.models.ClassificationAssociateRequest; +import com.azure.analytics.purview.datamap.models.Direction; +import com.azure.analytics.purview.datamap.models.EntityMutationResponse; +import com.azure.analytics.purview.datamap.models.MoveEntitiesRequest; +import com.azure.analytics.purview.datamap.models.SearchRequest; +import com.azure.analytics.purview.datamap.models.SearchResult; +import com.azure.analytics.purview.datamap.models.SuggestRequest; +import com.azure.analytics.purview.datamap.models.SuggestResult; +import com.azure.analytics.purview.datamap.models.TermTemplateDef; +import com.azure.analytics.purview.datamap.models.Type; +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 java.util.List; +import java.util.Map; + +/** + * Initializes a new instance of the synchronous PurviewDataMapClient type. + */ +@ServiceClient(builder = PurviewDataMapClientBuilder.class) +public final class PurviewDataMapClient { + @Generated + private final PurviewDataMapClientImpl serviceClient; + + /** + * Initializes an instance of PurviewDataMapClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + PurviewDataMapClient(PurviewDataMapClientImpl 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge". + * @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 entity Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateWithResponse(String businessAttributeUpdateBehavior, String collectionId, + BinaryData entity, RequestOptions requestOptions) { + return this.serviceClient.createOrUpdateWithResponse(businessAttributeUpdateBehavior, collectionId, entity, + requestOptions); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listByGuidsWithResponse(List guid, boolean minExtInfo, + boolean ignoreRelationships, RequestOptions requestOptions) { + return this.serviceClient.listByGuidsWithResponse(guid, minExtInfo, ignoreRelationships, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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. 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. Allowed values: "ignore", "replace", "merge". + * @param entities An array of entities to create or 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 mutation response of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response bulkCreateOrUpdateWithResponse(String collectionId, + String businessAttributeUpdateBehavior, BinaryData entities, RequestOptions requestOptions) { + return this.serviceClient.bulkCreateOrUpdateWithResponse(collectionId, businessAttributeUpdateBehavior, + entities, requestOptions); + } + + /** + * Delete a list of entities in bulk identified by their GUIDs or unique + * attributes. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response bulkDeleteWithResponse(List guid, RequestOptions requestOptions) { + return this.serviceClient.bulkDeleteWithResponse(guid, requestOptions); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 request The request to associate a classification to multiple entities. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 request, RequestOptions requestOptions) { + return this.serviceClient.addClassificationWithResponse(request, requestOptions); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean minExtInfo, boolean ignoreRelationships, + RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(guid, minExtInfo, ignoreRelationships, 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateAttributeByGuidWithResponse(String guid, String name, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateAttributeByGuidWithResponse(guid, name, body, requestOptions); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 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 (Optional)
+     *     }
+     *     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 (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + return this.serviceClient.addClassificationsWithResponse(guid, classifications, requestOptions); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsWithResponse(guid, classifications, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 getByUniqueAttributesWithResponse(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attr, RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributesWithResponse(typeName, minExtInfo, ignoreRelationships, attr, + 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasEntityWithExtInfo Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateByUniqueAttributesWithResponse(String typeName, String attr, + BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateByUniqueAttributesWithResponse(typeName, attr, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteByUniqueAttributeWithResponse(String typeName, String attr, + RequestOptions requestOptions) { + return this.serviceClient.deleteByUniqueAttributeWithResponse(typeName, attr, requestOptions); + } + + /** + * 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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, + String attr, RequestOptions requestOptions) { + return this.serviceClient.removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, attr, + requestOptions); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + return this.serviceClient.addClassificationsByUniqueAttributeWithResponse(typeName, attr, + atlasClassificationArray, requestOptions); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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 updateClassificationsByUniqueAttributeWithResponse(String typeName, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + return this.serviceClient.updateClassificationsByUniqueAttributeWithResponse(typeName, attr, + atlasClassificationArray, requestOptions); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 entityHeaders Atlas entity headers. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkSetClassificationsWithResponse(BinaryData entityHeaders, RequestOptions requestOptions) { + return this.serviceClient.bulkSetClassificationsWithResponse(entityHeaders, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listByUniqueAttributesWithResponse(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attrNQualifiedName, RequestOptions requestOptions) { + return this.serviceClient.listByUniqueAttributesWithResponse(typeName, minExtInfo, ignoreRelationships, + attrNQualifiedName, requestOptions); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Optional)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param businessMetadata 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 businessMetadata, + RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataWithResponse(guid, businessMetadata, requestOptions); + } + + /** + * Add business metadata to an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param isOverwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @param businessMetadata 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, boolean isOverwrite, + BinaryData businessMetadata, RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataWithResponse(guid, isOverwrite, businessMetadata, + requestOptions); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + return this.serviceClient.removeBusinessMetadataAttributesWithResponse(bmName, guid, businessMetadataAttributes, + requestOptions); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + return this.serviceClient.addOrUpdateBusinessMetadataAttributesWithResponse(bmName, guid, + businessMetadataAttributes, requestOptions); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 getSampleBusinessMetadataTemplateWithResponse(RequestOptions requestOptions) { + return this.serviceClient.getSampleBusinessMetadataTemplateWithResponse(requestOptions); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Request Body Schema + *

+ *
{@code
+     * byte[]
+     * }
+ *

+ * 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 uploadedInputStream InputStream of file. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return example along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response importBusinessMetadataWithResponse(BinaryData uploadedInputStream, + RequestOptions requestOptions) { + return this.serviceClient.importBusinessMetadataWithResponse(uploadedInputStream, requestOptions); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.removeLabelsWithResponse(guid, body, requestOptions); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be set to 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, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.setLabelsWithResponse(guid, body, requestOptions); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels 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 addLabelWithResponse(String guid, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.addLabelWithResponse(guid, body, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.removeLabelsByUniqueAttributeWithResponse(typeName, attr, body, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.setLabelsByUniqueAttributeWithResponse(typeName, attr, body, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.addLabelsByUniqueAttributeWithResponse(typeName, attr, body, requestOptions); + } + + /** + * Move existing entities to the target collection. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 moveEntitiesRequest Entity guids to be moved to target collection. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response moveEntitiesToCollectionWithResponse(String collectionId, + BinaryData moveEntitiesRequest, RequestOptions requestOptions) { + return this.serviceClient.moveEntitiesToCollectionWithResponse(collectionId, moveEntitiesRequest, + 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listWithResponse(int limit, int offset, String sort, boolean ignoreTermsAndCategories, + RequestOptions requestOptions) { + return this.serviceClient.listWithResponse(limit, offset, sort, ignoreTermsAndCategories, requestOptions); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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 (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 glossaryCategory 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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCategoriesWithResponse(BinaryData glossaryCategory, RequestOptions requestOptions) { + return this.serviceClient.createCategoriesWithResponse(glossaryCategory, requestOptions); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryCategory The glossary category definition. A category must be anchored to a Glossary + * when creating. + * Optionally, terms belonging to the category and the hierarchy + * can also be defined during creation. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 glossaryCategory, RequestOptions requestOptions) { + return this.serviceClient.createCategoryWithResponse(glossaryCategory, requestOptions); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + return this.serviceClient.getCategoryWithResponse(categoryGuid, requestOptions); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param glossaryCategory The glossary category 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 category along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateCategoryWithResponse(String categoryGuid, BinaryData glossaryCategory, + RequestOptions requestOptions) { + return this.serviceClient.updateCategoryWithResponse(categoryGuid, glossaryCategory, requestOptions); + } + + /** + * Delete a glossary category. + * + * @param categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + return this.serviceClient.deleteCategoryWithResponse(categoryGuid, requestOptions); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param partialUpdates 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 categoryGuid, BinaryData partialUpdates, + RequestOptions requestOptions) { + return this.serviceClient.partialUpdateCategoryWithResponse(categoryGuid, partialUpdates, 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. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listRelatedCategoriesWithResponse(String categoryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listRelatedCategoriesWithResponse(categoryGuid, limit, offset, sort, requestOptions); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listCategoryTermsWithResponse(String categoryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listCategoryTermsWithResponse(categoryGuid, limit, offset, sort, requestOptions); + } + + /** + * Create a glossary term. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term definition. A term must be anchored to a Glossary at the time + * of creation. + * Optionally it can be categorized as well. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.createTermWithResponse(includeTermHierarchy, glossaryTerm, requestOptions); + } + + /** + * Get a specific glossary term by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid 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 termGuid, RequestOptions requestOptions) { + return this.serviceClient.getTermWithResponse(termGuid, requestOptions); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term 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 updateTermWithResponse(String termGuid, boolean includeTermHierarchy, + BinaryData glossaryTerm, RequestOptions requestOptions) { + return this.serviceClient.updateTermWithResponse(termGuid, includeTermHierarchy, glossaryTerm, requestOptions); + } + + /** + * Delete a glossary term. + * + * @param termGuid 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 termGuid, RequestOptions requestOptions) { + return this.serviceClient.deleteTermWithResponse(termGuid, requestOptions); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param partialUpdates 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 termGuid, boolean includeTermHierarchy, + BinaryData partialUpdates, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateTermWithResponse(termGuid, includeTermHierarchy, partialUpdates, + requestOptions); + } + + /** + * Create glossary terms in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 (Optional)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm 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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTermsWithResponse(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + return this.serviceClient.createTermsWithResponse(includeTermHierarchy, glossaryTerm, requestOptions); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 listEntitiesAssignedWithTermWithResponse(String termGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listEntitiesAssignedWithTermWithResponse(termGuid, limit, offset, sort, + 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, BinaryData relatedObjectIds, + RequestOptions requestOptions) { + return this.serviceClient.assignTermToEntitiesWithResponse(termGuid, relatedObjectIds, 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, BinaryData relatedObjectIds, + RequestOptions requestOptions) { + return this.serviceClient.deleteTermAssignmentFromEntitiesWithResponse(termGuid, relatedObjectIds, + 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. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listRelatedTermsWithResponse(String termGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listRelatedTermsWithResponse(termGuid, limit, offset, sort, requestOptions); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(glossaryGuid, requestOptions); + } + + /** + * Update the given glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(String glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData updatedGlossary, RequestOptions requestOptions) { + return this.serviceClient.updateWithResponse(glossaryGuid, ignoreTermsAndCategories, updatedGlossary, + requestOptions); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + return this.serviceClient.deleteWithResponse(glossaryGuid, requestOptions); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 listCategoriesWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listCategoriesWithResponse(glossaryGuid, limit, offset, sort, requestOptions); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 listCategoriesHeadersWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listCategoriesHeadersWithResponse(glossaryGuid, limit, offset, sort, 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/{glossaryGuid}/terms' and + * + * 'GET + * '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + return this.serviceClient.getDetailedWithResponse(glossaryGuid, 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. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param partialUpdates 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 glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData partialUpdates, RequestOptions requestOptions) { + return this.serviceClient.partialUpdateWithResponse(glossaryGuid, ignoreTermsAndCategories, partialUpdates, + requestOptions); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listTermsWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listTermsWithResponse(glossaryGuid, limit, offset, sort, requestOptions); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listTermHeadersWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + return this.serviceClient.listTermHeadersWithResponse(glossaryGuid, limit, offset, sort, requestOptions); + } + + /** + * 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: Object (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: Integer (Optional)
+     *             updateTime: Integer (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 searchRequest An object specifying the search criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 searchRequest, RequestOptions requestOptions) { + return this.serviceClient.queryWithResponse(searchRequest, 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: Integer (Optional)
+     *             updateTime: Integer (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 suggestRequest An object specifying the suggest criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 suggestRequest, RequestOptions requestOptions) { + return this.serviceClient.suggestWithResponse(suggestRequest, 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 autoCompleteRequest An object specifying the autocomplete criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 autoCompleteRequest, + RequestOptions requestOptions) { + return this.serviceClient.autoCompleteWithResponse(autoCompleteRequest, requestOptions); + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, int depth, String direction, + RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(guid, depth, direction, requestOptions); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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: "BOTH", + * "INPUT", "OUTPUT". + * @param offset The offset for pagination purpose. + * @param limit The page size - by default there is no paging. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int offset, int limit, + RequestOptions requestOptions) { + return this.serviceClient.getNextPageWithResponse(guid, direction, offset, limit, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int depth, String direction, + String attr, RequestOptions requestOptions) { + return this.serviceClient.getByUniqueAttributeWithResponse(typeName, depth, direction, attr, requestOptions); + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Double (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Integer (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Double (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @param extendedInfo Limits whether includes extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean extendedInfo, RequestOptions requestOptions) { + return this.serviceClient.getWithResponse(guid, extendedInfo, 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); + } + + /** + * 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getBusinessMetadataDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getBusinessMetadataDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getBusinessMetadataDefByNameWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getClassificationDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getClassificationDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getClassificationDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getClassificationDefByNameWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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 getEntityDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEntityDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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 getEntityDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEntityDefByNameWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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 getEnumDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getEnumDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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 getEnumDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getEnumDefByNameWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getRelationshipDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getRelationshipDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getRelationshipDefByNameWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getStructDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getStructDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getStructDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getStructDefByNameWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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 getByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 definitions of types along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response listWithResponse(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + return this.serviceClient.listWithResponse(includeTermTemplate, type, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite wrapper object with corresponding lists of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkCreateWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + return this.serviceClient.bulkCreateWithResponse(typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all type definition changes. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkUpdateWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + return this.serviceClient.bulkUpdateWithResponse(typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all types to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkDeleteWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + return this.serviceClient.bulkDeleteWithResponse(typesDef, requestOptions); + } + + /** + * 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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response listHeadersWithResponse(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + return this.serviceClient.listHeadersWithResponse(includeTermTemplate, type, 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getTermTemplateDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateDefByGuidWithResponse(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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 getTermTemplateDefByNameWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getTermTemplateDefByNameWithResponse(name, 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 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. + * @param entity Atlas entity with 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 the mutation response of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse createOrUpdate(BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior, + String collectionId, AtlasEntityWithExtInfo entity) { + // Generated convenience method for createOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOrUpdateWithResponse(businessAttributeUpdateBehavior.toString(), collectionId, + BinaryData.fromObject(entity), requestOptions).getValue().toObject(EntityMutationResponse.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 listByGuids(List guid, boolean minExtInfo, boolean ignoreRelationships) { + // Generated convenience method for listByGuidsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listByGuidsWithResponse(guid, minExtInfo, ignoreRelationships, 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 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. + * @param entities An array of entities to create or 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 mutation response of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse bulkCreateOrUpdate(String collectionId, + BusinessAttributeUpdateBehavior businessAttributeUpdateBehavior, AtlasEntitiesWithExtInfo entities) { + // Generated convenience method for bulkCreateOrUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkCreateOrUpdateWithResponse(collectionId, businessAttributeUpdateBehavior.toString(), + BinaryData.fromObject(entities), requestOptions).getValue().toObject(EntityMutationResponse.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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse bulkDelete(List guid) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkDeleteWithResponse(guid, requestOptions).getValue().toObject(EntityMutationResponse.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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse bulkDelete(List guid) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + for (String paramItemValue : guid) { + if (paramItemValue != null) { + requestOptions.addQueryParam("guid", paramItemValue, false); + } + } + return bulkDeleteWithResponse(typesDef, requestOptions).getValue(); + } + + /** + * Associate a classification to multiple entities in bulk. + * + * @param request The request to associate a classification to multiple 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void addClassification(ClassificationAssociateRequest request) { + // Generated convenience method for addClassificationWithResponse + RequestOptions requestOptions = new RequestOptions(); + addClassificationWithResponse(BinaryData.fromObject(request), 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(); + return getWithResponse(guid, minExtInfo, ignoreRelationships, requestOptions).getValue() + .toObject(AtlasEntityWithExtInfo.class); + } + + /** + * 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(); + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + return getWithResponse(glossaryGuid, requestOptions).getValue().toObject(AtlasEntityWithExtInfo.class); + } + + /** + * 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(); + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + return getWithResponse(guid, depth, direction, requestOptions).getValue() + .toObject(AtlasEntityWithExtInfo.class); + } + + /** + * 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(); + requestOptions.addQueryParam("minExtInfo", String.valueOf(minExtInfo), false); + requestOptions.addQueryParam("ignoreRelationships", String.valueOf(ignoreRelationships), false); + return getWithResponse(guid, extendedInfo, 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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse partialUpdateAttributeByGuid(String guid, String name, Object body) { + // Generated convenience method for partialUpdateAttributeByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateAttributeByGuidWithResponse(guid, name, BinaryData.fromObject(body), requestOptions) + .getValue().toObject(EntityMutationResponse.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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).getValue().toObject(EntityMutationResponse.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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(glossaryGuid, requestOptions).getValue(); + } + + /** + * 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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(guid, requestOptions).getValue(); + } + + /** + * 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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse delete(String guid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteWithResponse(name, requestOptions).getValue(); + } + + /** + * 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 classifications 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 classifications) { + // Generated convenience method for addClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + addClassificationsWithResponse(guid, BinaryData.fromObject(classifications), requestOptions).getValue(); + } + + /** + * Update classifications to an existing entity represented by a guid. + * + * @param guid The globally unique identifier of the entity. + * @param classifications 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 classifications) { + // Generated convenience method for updateClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + updateClassificationsWithResponse(guid, BinaryData.fromObject(classifications), 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 attr 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 getByUniqueAttributes(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attr) { + // Generated convenience method for getByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributesWithResponse(typeName, minExtInfo, ignoreRelationships, attr, 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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasEntityWithExtInfo Atlas entity with 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 the mutation response of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse partialUpdateByUniqueAttributes(String typeName, String attr, + AtlasEntityWithExtInfo atlasEntityWithExtInfo) { + // Generated convenience method for partialUpdateByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateByUniqueAttributesWithResponse(typeName, attr, + BinaryData.fromObject(atlasEntityWithExtInfo), requestOptions).getValue() + .toObject(EntityMutationResponse.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 attr 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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse deleteByUniqueAttribute(String typeName, String attr) { + // Generated convenience method for deleteByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteByUniqueAttributeWithResponse(typeName, attr, requestOptions).getValue() + .toObject(EntityMutationResponse.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 attr 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 attr) { + // Generated convenience method for removeClassificationByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeClassificationByUniqueAttributeWithResponse(typeName, classificationName, attr, requestOptions) + .getValue(); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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, String attr, + List atlasClassificationArray) { + // Generated convenience method for addClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + addClassificationsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(atlasClassificationArray), + requestOptions).getValue(); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + * + * @param typeName The name of the type. + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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 updateClassificationsByUniqueAttribute(String typeName, String attr, + List atlasClassificationArray) { + // Generated convenience method for updateClassificationsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + updateClassificationsByUniqueAttributeWithResponse(typeName, attr, + BinaryData.fromObject(atlasClassificationArray), requestOptions).getValue(); + } + + /** + * Set classifications on entities in bulk. + * + * @param entityHeaders Atlas entity headers. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 bulkSetClassifications(AtlasEntityHeaders entityHeaders) { + // Generated convenience method for bulkSetClassificationsWithResponse + RequestOptions requestOptions = new RequestOptions(); + bulkSetClassificationsWithResponse(BinaryData.fromObject(entityHeaders), requestOptions).getValue(); + } + + /** + * 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 listByUniqueAttributes(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attrNQualifiedName) { + // Generated convenience method for listByUniqueAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listByUniqueAttributesWithResponse(typeName, minExtInfo, ignoreRelationships, attrNQualifiedName, + 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 businessMetadata 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 businessMetadata) { + // Generated convenience method for removeBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeBusinessMetadataWithResponse(guid, BinaryData.fromObject(businessMetadata), requestOptions).getValue(); + } + + /** + * Add business metadata to an entity. + * + * @param guid The globally unique identifier of the entity. + * @param isOverwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @param businessMetadata 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, boolean isOverwrite, Map businessMetadata) { + // Generated convenience method for addOrUpdateBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + addOrUpdateBusinessMetadataWithResponse(guid, isOverwrite, BinaryData.fromObject(businessMetadata), + requestOptions).getValue(); + } + + /** + * Delete business metadata attributes from an entity. + * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + Map businessMetadataAttributes) { + // Generated convenience method for removeBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeBusinessMetadataAttributesWithResponse(bmName, guid, BinaryData.fromObject(businessMetadataAttributes), + requestOptions).getValue(); + } + + /** + * Add or update business metadata attributes. + * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + Map businessMetadataAttributes) { + // Generated convenience method for addOrUpdateBusinessMetadataAttributesWithResponse + RequestOptions requestOptions = new RequestOptions(); + addOrUpdateBusinessMetadataAttributesWithResponse(bmName, guid, + BinaryData.fromObject(businessMetadataAttributes), 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void getSampleBusinessMetadataTemplate() { + // Generated convenience method for getSampleBusinessMetadataTemplateWithResponse + RequestOptions requestOptions = new RequestOptions(); + getSampleBusinessMetadataTemplateWithResponse(requestOptions).getValue(); + } + + /** + * Upload the file for creating Business Metadata in BULK. + * + * @param uploadedInputStream 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 example. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BulkImportResponse importBusinessMetadata(byte[] uploadedInputStream) { + // Generated convenience method for importBusinessMetadataWithResponse + RequestOptions requestOptions = new RequestOptions(); + return importBusinessMetadataWithResponse(BinaryData.fromObject(uploadedInputStream), requestOptions).getValue() + .toObject(BulkImportResponse.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(); + removeLabelsWithResponse(guid, BinaryData.fromObject(body), 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(); + setLabelsWithResponse(guid, BinaryData.fromObject(body), 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(); + addLabelWithResponse(guid, BinaryData.fromObject(body), 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 attr 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 attr, List body) { + // Generated convenience method for removeLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + removeLabelsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(body), 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 attr 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 attr, List body) { + // Generated convenience method for setLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + setLabelsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(body), 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 attr 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 attr, List body) { + // Generated convenience method for addLabelsByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + addLabelsByUniqueAttributeWithResponse(typeName, attr, BinaryData.fromObject(body), requestOptions).getValue(); + } + + /** + * Move existing entities to the target collection. + * + * @param collectionId The collection where entities will be moved to. + * @param moveEntitiesRequest Entity guids to be moved to target 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 of entity. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public EntityMutationResponse moveEntitiesToCollection(String collectionId, + MoveEntitiesRequest moveEntitiesRequest) { + // Generated convenience method for moveEntitiesToCollectionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return moveEntitiesToCollectionWithResponse(collectionId, BinaryData.fromObject(moveEntitiesRequest), + requestOptions).getValue().toObject(EntityMutationResponse.class); + } + + /** + * 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void list(int limit, int offset, String sort, boolean ignoreTermsAndCategories) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + listWithResponse(limit, offset, sort, ignoreTermsAndCategories, requestOptions).getValue(); + } + + /** + * 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void list(int limit, int offset, String sort, boolean ignoreTermsAndCategories) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + requestOptions.addQueryParam("offset", String.valueOf(offset), false); + requestOptions.addQueryParam("sort", sort, false); + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + listWithResponse(includeTermTemplate, type, requestOptions).getValue(); + } + + /** + * Create a glossary. + * + * @param atlasGlossary Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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 a glossary. + * + * @param atlasGlossary Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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 glossaryCategory 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void createCategories(List glossaryCategory) { + // Generated convenience method for createCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + createCategoriesWithResponse(BinaryData.fromObject(glossaryCategory), requestOptions).getValue(); + } + + /** + * Create a glossary category. + * + * @param glossaryCategory The glossary category definition. A category must be anchored to a Glossary + * when creating. + * Optionally, terms belonging to the category and the hierarchy + * can also be defined during creation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 glossaryCategory) { + // Generated convenience method for createCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createCategoryWithResponse(BinaryData.fromObject(glossaryCategory), requestOptions).getValue() + .toObject(AtlasGlossaryCategory.class); + } + + /** + * Get specific glossary category by its GUID. + * + * @param categoryGuid 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 categoryGuid) { + // Generated convenience method for getCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCategoryWithResponse(categoryGuid, requestOptions).getValue().toObject(AtlasGlossaryCategory.class); + } + + /** + * Update the given glossary category by its GUID. + * + * @param categoryGuid The globally unique identifier of the category. + * @param glossaryCategory The glossary category 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 category. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossaryCategory updateCategory(String categoryGuid, AtlasGlossaryCategory glossaryCategory) { + // Generated convenience method for updateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateCategoryWithResponse(categoryGuid, BinaryData.fromObject(glossaryCategory), requestOptions) + .getValue().toObject(AtlasGlossaryCategory.class); + } + + /** + * Delete a glossary category. + * + * @param categoryGuid 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 categoryGuid) { + // Generated convenience method for deleteCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteCategoryWithResponse(categoryGuid, requestOptions).getValue(); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + * + * @param categoryGuid The globally unique identifier of the category. + * @param partialUpdates 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 categoryGuid, Object partialUpdates) { + // Generated convenience method for partialUpdateCategoryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateCategoryWithResponse(categoryGuid, BinaryData.fromObject(partialUpdates), 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 categoryGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listRelatedCategories(String categoryGuid, int limit, int offset, String sort) { + // Generated convenience method for listRelatedCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + listRelatedCategoriesWithResponse(categoryGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listCategoryTerms(String categoryGuid, int limit, int offset, String sort) { + // Generated convenience method for listCategoryTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + listCategoryTermsWithResponse(categoryGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * Create a glossary term. + * + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term definition. A term must be anchored to a Glossary at the time + * of creation. + * Optionally it can be categorized as well. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(boolean includeTermHierarchy, AtlasGlossaryTerm glossaryTerm) { + // Generated convenience method for createTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTermWithResponse(includeTermHierarchy, BinaryData.fromObject(glossaryTerm), requestOptions) + .getValue().toObject(AtlasGlossaryTerm.class); + } + + /** + * Get a specific glossary term by its GUID. + * + * @param termGuid 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 termGuid) { + // Generated convenience method for getTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermWithResponse(termGuid, requestOptions).getValue().toObject(AtlasGlossaryTerm.class); + } + + /** + * Update the given glossary term by its GUID. + * + * @param termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term 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 updateTerm(String termGuid, boolean includeTermHierarchy, AtlasGlossaryTerm glossaryTerm) { + // Generated convenience method for updateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateTermWithResponse(termGuid, includeTermHierarchy, BinaryData.fromObject(glossaryTerm), + requestOptions).getValue().toObject(AtlasGlossaryTerm.class); + } + + /** + * Delete a glossary term. + * + * @param termGuid 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 termGuid) { + // Generated convenience method for deleteTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteTermWithResponse(termGuid, requestOptions).getValue(); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + * + * @param termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param partialUpdates 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 termGuid, boolean includeTermHierarchy, Object partialUpdates) { + // Generated convenience method for partialUpdateTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateTermWithResponse(termGuid, includeTermHierarchy, BinaryData.fromObject(partialUpdates), + requestOptions).getValue().toObject(AtlasGlossaryTerm.class); + } + + /** + * Create glossary terms in bulk. + * + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void createTerms(boolean includeTermHierarchy, List glossaryTerm) { + // Generated convenience method for createTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + createTermsWithResponse(includeTermHierarchy, BinaryData.fromObject(glossaryTerm), requestOptions).getValue(); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listEntitiesAssignedWithTerm(String termGuid, int limit, int offset, String sort) { + // Generated convenience method for listEntitiesAssignedWithTermWithResponse + RequestOptions requestOptions = new RequestOptions(); + listEntitiesAssignedWithTermWithResponse(termGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * 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 termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, List relatedObjectIds) { + // Generated convenience method for assignTermToEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + assignTermToEntitiesWithResponse(termGuid, BinaryData.fromObject(relatedObjectIds), requestOptions).getValue(); + } + + /** + * Delete the term assignment for the given list of related objects. + * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, List relatedObjectIds) { + // Generated convenience method for deleteTermAssignmentFromEntitiesWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteTermAssignmentFromEntitiesWithResponse(termGuid, BinaryData.fromObject(relatedObjectIds), 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 termGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listRelatedTerms(String termGuid, int limit, int offset, String sort) { + // Generated convenience method for listRelatedTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + listRelatedTermsWithResponse(termGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, minExtInfo, ignoreRelationships, requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(glossaryGuid, requestOptions).getValue().toObject(AtlasGlossary.class); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, depth, direction, requestOptions).getValue().toObject(AtlasGlossary.class); + } + + /** + * Get a specific Glossary by its GUID. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, extendedInfo, requestOptions).getValue().toObject(AtlasGlossary.class); + } + + /** + * Update the given glossary. + * + * @param glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary update(String glossaryGuid, boolean ignoreTermsAndCategories, AtlasGlossary updatedGlossary) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(glossaryGuid, ignoreTermsAndCategories, BinaryData.fromObject(updatedGlossary), + requestOptions).getValue().toObject(AtlasGlossary.class); + } + + /** + * Update the given glossary. + * + * @param glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasGlossary update(String glossaryGuid, boolean ignoreTermsAndCategories, AtlasGlossary updatedGlossary) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("ignoreTermsAndCategories", String.valueOf(ignoreTermsAndCategories), false); + return updateWithResponse(BinaryData.fromObject(updatedGlossary), requestOptions).getValue() + .toObject(AtlasGlossary.class); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(guid, requestOptions).getValue(); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(glossaryGuid, requestOptions).getValue(); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(guid, requestOptions).getValue(); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for deleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteWithResponse(name, requestOptions).getValue(); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listCategories(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listCategoriesWithResponse + RequestOptions requestOptions = new RequestOptions(); + listCategoriesWithResponse(glossaryGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listCategoriesHeaders(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listCategoriesHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + listCategoriesHeadersWithResponse(glossaryGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * 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/{glossaryGuid}/terms' and + * + * 'GET + * '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'. + * + * @param glossaryGuid 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 glossaryGuid) { + // Generated convenience method for getDetailedWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getDetailedWithResponse(glossaryGuid, 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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param partialUpdates 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 glossaryGuid, boolean ignoreTermsAndCategories, Object partialUpdates) { + // Generated convenience method for partialUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return partialUpdateWithResponse(glossaryGuid, ignoreTermsAndCategories, BinaryData.fromObject(partialUpdates), + requestOptions).getValue().toObject(AtlasGlossary.class); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listTerms(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listTermsWithResponse + RequestOptions requestOptions = new RequestOptions(); + listTermsWithResponse(glossaryGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryGuid 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listTermHeaders(String glossaryGuid, int limit, int offset, String sort) { + // Generated convenience method for listTermHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + listTermHeadersWithResponse(glossaryGuid, limit, offset, sort, requestOptions).getValue(); + } + + /** + * Get data using search. + * + * @param searchRequest An object specifying the search criteria. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 SearchResult query(SearchRequest searchRequest) { + // Generated convenience method for queryWithResponse + RequestOptions requestOptions = new RequestOptions(); + return queryWithResponse(BinaryData.fromObject(searchRequest), requestOptions).getValue() + .toObject(SearchResult.class); + } + + /** + * Get search suggestions by query criteria. + * + * @param suggestRequest An object specifying the suggest criteria. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(SuggestRequest suggestRequest) { + // Generated convenience method for suggestWithResponse + RequestOptions requestOptions = new RequestOptions(); + return suggestWithResponse(BinaryData.fromObject(suggestRequest), requestOptions).getValue() + .toObject(SuggestResult.class); + } + + /** + * Get auto complete options. + * + * @param autoCompleteRequest An object specifying the autocomplete criteria. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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(AutoCompleteRequest autoCompleteRequest) { + // Generated convenience method for autoCompleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + return autoCompleteWithResponse(BinaryData.fromObject(autoCompleteRequest), requestOptions).getValue() + .toObject(AutoCompleteResult.class); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + requestOptions.addQueryParam("direction", direction.toString(), false); + return getWithResponse(guid, minExtInfo, ignoreRelationships, requestOptions).getValue() + .toObject(AtlasLineageInfo.class); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + requestOptions.addQueryParam("direction", direction.toString(), false); + return getWithResponse(glossaryGuid, requestOptions).getValue().toObject(AtlasLineageInfo.class); + } + + /** + * Get lineage info of the entity specified by GUID. + * + * @param guid The globally unique identifier of the entity. + * @param depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getWithResponse(guid, depth, 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 depth The number of hops for lineage. + * @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, int depth, Direction direction) { + // Generated convenience method for getWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("depth", String.valueOf(depth), false); + requestOptions.addQueryParam("direction", direction.toString(), false); + return getWithResponse(guid, extendedInfo, 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, Direction direction, int offset, int limit) { + // Generated convenience method for getNextPageWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getNextPageWithResponse(guid, direction.toString(), offset, limit, 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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. + * @param attr 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, int depth, Direction direction, String attr) { + // Generated convenience method for getByUniqueAttributeWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByUniqueAttributeWithResponse(typeName, depth, direction.toString(), attr, requestOptions).getValue() + .toObject(AtlasLineageInfo.class); + } + + /** + * Create a new relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationship create(AtlasRelationship relationship) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(relationship), requestOptions).getValue() + .toObject(AtlasRelationship.class); + } + + /** + * Create a new relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationship create(AtlasRelationship relationship) { + // Generated convenience method for createWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createWithResponse(BinaryData.fromObject(relationship), requestOptions).getValue() + .toObject(AtlasRelationship.class); + } + + /** + * Update an existing relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationship update(AtlasRelationship relationship) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(glossaryGuid, ignoreTermsAndCategories, BinaryData.fromObject(relationship), + requestOptions).getValue().toObject(AtlasRelationship.class); + } + + /** + * Update an existing relationship between entities. + * + * @param relationship The AtlasRelationship object containing the information for the relationship 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 atlas relationship instance. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AtlasRelationship update(AtlasRelationship relationship) { + // Generated convenience method for updateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return updateWithResponse(BinaryData.fromObject(relationship), 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(); + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + return getWithResponse(guid, minExtInfo, ignoreRelationships, requestOptions).getValue() + .toObject(AtlasRelationshipWithExtInfo.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(); + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + return getWithResponse(glossaryGuid, requestOptions).getValue().toObject(AtlasRelationshipWithExtInfo.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(); + requestOptions.addQueryParam("extendedInfo", String.valueOf(extendedInfo), false); + return getWithResponse(guid, depth, direction, requestOptions).getValue() + .toObject(AtlasRelationshipWithExtInfo.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(); + return getWithResponse(guid, extendedInfo, 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(); + } + + /** + * 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(glossaryGuid, requestOptions).getValue(); + } + + /** + * 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(); + } + + /** + * 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(name, requestOptions).getValue(); + } + + /** + * 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 getBusinessMetadataDefByGuid(String guid) { + // Generated convenience method for getBusinessMetadataDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataDefByGuidWithResponse(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 getBusinessMetadataDefByName(String name) { + // Generated convenience method for getBusinessMetadataDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getBusinessMetadataDefByNameWithResponse(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 getClassificationDefByGuid(String guid) { + // Generated convenience method for getClassificationDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationDefByGuidWithResponse(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 getClassificationDefByName(String name) { + // Generated convenience method for getClassificationDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getClassificationDefByNameWithResponse(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 getEntityDefByGuid(String guid) { + // Generated convenience method for getEntityDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityDefByGuidWithResponse(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 getEntityDefByName(String name) { + // Generated convenience method for getEntityDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEntityDefByNameWithResponse(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 getEnumDefByGuid(String guid) { + // Generated convenience method for getEnumDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumDefByGuidWithResponse(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 getEnumDefByName(String name) { + // Generated convenience method for getEnumDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getEnumDefByNameWithResponse(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 getRelationshipDefByGuid(String guid) { + // Generated convenience method for getRelationshipDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipDefByGuidWithResponse(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 getRelationshipDefByName(String name) { + // Generated convenience method for getRelationshipDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getRelationshipDefByNameWithResponse(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 getStructDefByGuid(String guid) { + // Generated convenience method for getStructDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructDefByGuidWithResponse(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 getStructDefByName(String name) { + // Generated convenience method for getStructDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getStructDefByNameWithResponse(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 getByGuid(String guid) { + // Generated convenience method for getByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getByGuidWithResponse(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(guid, requestOptions).getValue(); + } + + /** + * 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(glossaryGuid, requestOptions).getValue(); + } + + /** + * 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(guid, requestOptions).getValue(); + } + + /** + * 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 list(boolean includeTermTemplate, Type type) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.addQueryParam("includeTermTemplate", String.valueOf(includeTermTemplate), false); + requestOptions.addQueryParam("type", type.toString(), false); + return listWithResponse(limit, offset, sort, ignoreTermsAndCategories, 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 list(boolean includeTermTemplate, Type type) { + // Generated convenience method for listWithResponse + RequestOptions requestOptions = new RequestOptions(); + return listWithResponse(includeTermTemplate, type.toString(), 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 typesDef A composite wrapper object with corresponding lists of the type definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 bulkCreate(AtlasTypesDef typesDef) { + // Generated convenience method for bulkCreateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkCreateWithResponse(BinaryData.fromObject(typesDef), requestOptions).getValue() + .toObject(AtlasTypesDef.class); + } + + /** + * Update all types in bulk, changes detected in the type definitions would be + * persisted. + * + * @param typesDef A composite object that captures all type definition changes. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 bulkUpdate(AtlasTypesDef typesDef) { + // Generated convenience method for bulkUpdateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return bulkUpdateWithResponse(BinaryData.fromObject(typesDef), requestOptions).getValue() + .toObject(AtlasTypesDef.class); + } + + /** + * Delete API for all types in bulk. + * + * @param typesDef A composite object that captures all types 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 bulkDelete(AtlasTypesDef typesDef) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + requestOptions.setBody(BinaryData.fromObject(typesDef)); + bulkDeleteWithResponse(guid, requestOptions).getValue(); + } + + /** + * Delete API for all types in bulk. + * + * @param typesDef A composite object that captures all types 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 bulkDelete(AtlasTypesDef typesDef) { + // Generated convenience method for bulkDeleteWithResponse + RequestOptions requestOptions = new RequestOptions(); + bulkDeleteWithResponse(BinaryData.fromObject(typesDef), 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void listHeaders(boolean includeTermTemplate, Type type) { + // Generated convenience method for listHeadersWithResponse + RequestOptions requestOptions = new RequestOptions(); + listHeadersWithResponse(includeTermTemplate, type.toString(), requestOptions).getValue(); + } + + /** + * 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 getTermTemplateDefByGuid(String guid) { + // Generated convenience method for getTermTemplateDefByGuidWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateDefByGuidWithResponse(guid, requestOptions).getValue().toObject(TermTemplateDef.class); + } + + /** + * Get the term template definition by its name (unique). + * + * @param name The name of the type definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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 getTermTemplateDefByName(String name) { + // Generated convenience method for getTermTemplateDefByNameWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTermTemplateDefByNameWithResponse(name, requestOptions).getValue().toObject(TermTemplateDef.class); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapClientBuilder.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapClientBuilder.java new file mode 100644 index 0000000000000..6552accdf9822 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapClientBuilder.java @@ -0,0 +1,299 @@ +// 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.PurviewDataMapClientImpl; +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.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.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 PurviewDataMapClient type. + */ +@ServiceClientBuilder(serviceClients = { PurviewDataMapClient.class, PurviewDataMapAsyncClient.class }) +public final class PurviewDataMapClientBuilder implements HttpTrait, + ConfigurationTrait, EndpointTrait { + @Generated + private static final String SDK_NAME = "name"; + + @Generated + private static final String SDK_VERSION = "version"; + + @Generated + private static final Map PROPERTIES + = CoreUtils.getProperties("azure-analytics-purview-datamap.properties"); + + @Generated + private final List pipelinePolicies; + + /** + * Create an instance of the PurviewDataMapClientBuilder. + */ + @Generated + public PurviewDataMapClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated + private HttpPipeline pipeline; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public PurviewDataMapClientBuilder 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 PurviewDataMapClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated + private HttpLogOptions httpLogOptions; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public PurviewDataMapClientBuilder 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 PurviewDataMapClientBuilder 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 PurviewDataMapClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public PurviewDataMapClientBuilder 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 PurviewDataMapClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * The service endpoint + */ + @Generated + private String endpoint; + + /** + * {@inheritDoc}. + */ + @Generated + @Override + public PurviewDataMapClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * Service version + */ + @Generated + private PurviewDataMapServiceVersion serviceVersion; + + /** + * Sets Service version. + * + * @param serviceVersion the serviceVersion value. + * @return the PurviewDataMapClientBuilder. + */ + @Generated + public PurviewDataMapClientBuilder 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 PurviewDataMapClientBuilder. + */ + @Generated + public PurviewDataMapClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of PurviewDataMapClientImpl with the provided parameters. + * + * @return an instance of PurviewDataMapClientImpl. + */ + @Generated + private PurviewDataMapClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + PurviewDataMapServiceVersion localServiceVersion + = (serviceVersion != null) ? serviceVersion : PurviewDataMapServiceVersion.getLatest(); + PurviewDataMapClientImpl client = new PurviewDataMapClientImpl(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()); + this.pipelinePolicies.stream().filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .forEach(p -> policies.add(p)); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient).clientOptions(localClientOptions).build(); + return httpPipeline; + } + + /** + * Builds an instance of PurviewDataMapAsyncClient class. + * + * @return an instance of PurviewDataMapAsyncClient. + */ + @Generated + public PurviewDataMapAsyncClient buildAsyncClient() { + return new PurviewDataMapAsyncClient(buildInnerClient()); + } + + /** + * Builds an instance of PurviewDataMapClient class. + * + * @return an instance of PurviewDataMapClient. + */ + @Generated + public PurviewDataMapClient buildClient() { + return new PurviewDataMapClient(buildInnerClient()); + } + + private static final ClientLogger LOGGER = new ClientLogger(PurviewDataMapClientBuilder.class); +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/PurviewDataMapServiceVersion.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/PurviewDataMapClientImpl.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/PurviewDataMapClientImpl.java new file mode 100644 index 0000000000000..4b8dd39574aa5 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/PurviewDataMapClientImpl.java @@ -0,0 +1,21843 @@ +// 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.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.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 com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the PurviewDataMapClient type. + */ +public final class PurviewDataMapClientImpl { + /** + * The proxy service used to perform REST calls. + */ + private final PurviewDataMapClientService service; + + /** + */ + 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; + } + + /** + * Initializes an instance of PurviewDataMapClient client. + * + * @param endpoint + * @param serviceVersion Service version. + */ + public PurviewDataMapClientImpl(String endpoint, PurviewDataMapServiceVersion serviceVersion) { + this(new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(), + JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of PurviewDataMapClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param endpoint + * @param serviceVersion Service version. + */ + public PurviewDataMapClientImpl(HttpPipeline httpPipeline, String endpoint, + PurviewDataMapServiceVersion serviceVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), endpoint, serviceVersion); + } + + /** + * Initializes an instance of PurviewDataMapClient 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 PurviewDataMapClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String endpoint, + PurviewDataMapServiceVersion serviceVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.endpoint = endpoint; + this.serviceVersion = serviceVersion; + this.service + = RestProxy.create(PurviewDataMapClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for PurviewDataMapClient to be used by the proxy service to perform REST + * calls. + */ + @Host("{endpoint}/datamap/api") + @ServiceInterface(name = "PurviewDataMapClient") + public interface PurviewDataMapClientService { + @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, + @QueryParam("businessAttributeUpdateBehavior") String businessAttributeUpdateBehavior, + @QueryParam("collectionId") String collectionId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData entity, 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, + @QueryParam("businessAttributeUpdateBehavior") String businessAttributeUpdateBehavior, + @QueryParam("collectionId") String collectionId, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData entity, 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> listByGuids(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "guid", multipleQueryParams = true) List guid, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, @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 listByGuidsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "guid", multipleQueryParams = true) List guid, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, @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> bulkCreateOrUpdate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @QueryParam("collectionId") String collectionId, + @QueryParam("businessAttributeUpdateBehavior") String businessAttributeUpdateBehavior, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData entities, + 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 bulkCreateOrUpdateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @QueryParam("collectionId") String collectionId, + @QueryParam("businessAttributeUpdateBehavior") String businessAttributeUpdateBehavior, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData entities, + 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> bulkDelete(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @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 bulkDeleteSync(@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/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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData request, 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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData request, 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, @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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, @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> partialUpdateAttributeByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 partialUpdateAttributeByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData classifications, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData classifications, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData classifications, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData classifications, + 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> getByUniqueAttributes(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, + @QueryParam("attr:qualifiedName") String attr, @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 getByUniqueAttributesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, + @QueryParam("attr:qualifiedName") String attr, @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> partialUpdateByUniqueAttributes(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @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 partialUpdateByUniqueAttributesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @PathParam("classificationName") String classificationName, @QueryParam("attr:qualifiedName") String attr, + @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @PathParam("classificationName") String classificationName, @QueryParam("attr:qualifiedName") String attr, + @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasClassificationArray, 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasClassificationArray, 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> updateClassificationsByUniqueAttribute(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasClassificationArray, 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 updateClassificationsByUniqueAttributeSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasClassificationArray, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/bulk/setClassifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> bulkSetClassifications(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData entityHeaders, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/entity/bulk/setClassifications") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response bulkSetClassificationsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData entityHeaders, 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> listByUniqueAttributes(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, + @QueryParam("attr_N:qualifiedName") String attrNQualifiedName, @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 listByUniqueAttributesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("minExtInfo") boolean minExtInfo, + @QueryParam("ignoreRelationships") boolean ignoreRelationships, + @QueryParam("attr_N:qualifiedName") String attrNQualifiedName, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData businessMetadata, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData businessMetadata, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("isOverwrite") boolean isOverwrite, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData businessMetadata, 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("isOverwrite") boolean isOverwrite, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData businessMetadata, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/businessmetadata/{bmName}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("bmName") String bmName, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData businessMetadataAttributes, RequestOptions requestOptions, + Context context); + + @Delete("/atlas/v2/entity/guid/{guid}/businessmetadata/{bmName}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("bmName") String bmName, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData businessMetadataAttributes, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/guid/{guid}/businessmetadata/{bmName}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("bmName") String bmName, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData businessMetadataAttributes, RequestOptions requestOptions, + Context context); + + @Post("/atlas/v2/entity/guid/{guid}/businessmetadata/{bmName}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("bmName") String bmName, + @PathParam("guid") String guid, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData businessMetadataAttributes, RequestOptions requestOptions, + Context context); + + @Get("/atlas/v2/entity/businessmetadata/import/template") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getSampleBusinessMetadataTemplate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/entity/businessmetadata/import/template") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getSampleBusinessMetadataTemplateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData uploadedInputStream, RequestOptions requestOptions, + Context context); + + @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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData uploadedInputStream, 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData body, + 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, 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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData body, 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 moveEntitiesRequest, + 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 moveEntitiesRequest, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> list(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @QueryParam("ignoreTermsAndCategories") boolean ignoreTermsAndCategories, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listSync(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @QueryParam("ignoreTermsAndCategories") boolean ignoreTermsAndCategories, + @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData atlasGlossary, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/categories") + @ExpectedResponses({ 204 }) + @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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryCategory, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/categories") + @ExpectedResponses({ 204 }) + @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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryCategory, 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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryCategory, 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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryCategory, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData glossaryCategory, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData glossaryCategory, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/category/{categoryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/category/{categoryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryGuid}/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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData partialUpdates, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/category/{categoryGuid}/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, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData partialUpdates, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryGuid}/related") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listRelatedCategories(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryGuid}/related") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listRelatedCategoriesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryGuid}/terms") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listCategoryTerms(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/category/{categoryGuid}/terms") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listCategoryTermsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("categoryGuid") String categoryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @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, + @QueryParam("api-version") String apiVersion, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryTerm, 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, + @QueryParam("api-version") String apiVersion, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryTerm, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/term/{termGuid}") + @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("termGuid") String termGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/term/{termGuid}") + @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("termGuid") String termGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termGuid}") + @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("termGuid") String termGuid, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryTerm, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termGuid}") + @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("termGuid") String termGuid, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryTerm, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/term/{termGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/term/{termGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termGuid}/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("termGuid") String termGuid, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData partialUpdates, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/term/{termGuid}/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("termGuid") String termGuid, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData partialUpdates, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms") + @ExpectedResponses({ 204 }) + @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, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryTerm, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms") + @ExpectedResponses({ 204 }) + @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, + @QueryParam("includeTermHierarchy") boolean includeTermHierarchy, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData glossaryTerm, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termGuid}/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> listEntitiesAssignedWithTerm(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termGuid}/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 listEntitiesAssignedWithTermSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms/{termGuid}/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, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData relatedObjectIds, + RequestOptions requestOptions, Context context); + + @Post("/atlas/v2/glossary/terms/{termGuid}/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, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData relatedObjectIds, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/terms/{termGuid}/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, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData relatedObjectIds, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/terms/{termGuid}/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, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData relatedObjectIds, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termGuid}/related") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listRelatedTerms(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/terms/{termGuid}/related") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listRelatedTermsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("termGuid") String termGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}") + @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, @PathParam("glossaryGuid") String glossaryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}") + @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, @PathParam("glossaryGuid") String glossaryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryGuid}") + @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("glossaryGuid") String glossaryGuid, + @QueryParam("ignoreTermsAndCategories") boolean ignoreTermsAndCategories, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData updatedGlossary, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryGuid}") + @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("glossaryGuid") String glossaryGuid, + @QueryParam("ignoreTermsAndCategories") boolean ignoreTermsAndCategories, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData updatedGlossary, + RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/{glossaryGuid}") + @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, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Delete("/atlas/v2/glossary/{glossaryGuid}") + @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, @QueryParam("api-version") String apiVersion, + @PathParam("glossaryGuid") String glossaryGuid, @HeaderParam("accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/categories") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listCategories(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/categories") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listCategoriesSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/categories/headers") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listCategoriesHeaders(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/categories/headers") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listCategoriesHeadersSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/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("glossaryGuid") String glossaryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/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("glossaryGuid") String glossaryGuid, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryGuid}/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("glossaryGuid") String glossaryGuid, + @QueryParam("ignoreTermsAndCategories") boolean ignoreTermsAndCategories, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData partialUpdates, + RequestOptions requestOptions, Context context); + + @Put("/atlas/v2/glossary/{glossaryGuid}/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("glossaryGuid") String glossaryGuid, + @QueryParam("ignoreTermsAndCategories") boolean ignoreTermsAndCategories, + @HeaderParam("accept") String accept, @BodyParam("application/json") BinaryData partialUpdates, + RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/terms") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listTerms(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/terms") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listTermsSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/terms/headers") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listTermHeaders(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/glossary/{glossaryGuid}/terms/headers") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listTermHeadersSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("glossaryGuid") String glossaryGuid, + @QueryParam("limit") int limit, @QueryParam("offset") int offset, @QueryParam("sort") String sort, + @HeaderParam("accept") String accept, 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) + Mono> query(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData searchRequest, 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 searchRequest, 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 suggestRequest, 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 suggestRequest, 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 autoCompleteRequest, 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 autoCompleteRequest, 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) + Mono> get(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("depth") int depth, @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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("depth") int depth, @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, @QueryParam("offset") int offset, @QueryParam("limit") int limit, + @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, @QueryParam("offset") int offset, @QueryParam("limit") int limit, + @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("depth") int depth, @QueryParam("direction") String direction, + @QueryParam("attr:qualifiedName") String attr, @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, + @QueryParam("api-version") String apiVersion, @PathParam("typeName") String typeName, + @QueryParam("depth") int depth, @QueryParam("direction") String direction, + @QueryParam("attr:qualifiedName") String attr, @HeaderParam("accept") String accept, + 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) + Mono> create(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData relationship, 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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData relationship, 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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData relationship, 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, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData relationship, 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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("extendedInfo") boolean extendedInfo, @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, + @QueryParam("api-version") String apiVersion, @PathParam("guid") String guid, + @QueryParam("extendedInfo") boolean extendedInfo, @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, + @QueryParam("api-version") String apiVersion, @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, @QueryParam("api-version") String apiVersion, + @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) + Mono> getBusinessMetadataDefByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getBusinessMetadataDefByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getBusinessMetadataDefByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getBusinessMetadataDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getClassificationDefByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getClassificationDefByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getClassificationDefByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getClassificationDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getEntityDefByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getEntityDefByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getEntityDefByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getEntityDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getEnumDefByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getEnumDefByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getEnumDefByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getEnumDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getRelationshipDefByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getRelationshipDefByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getRelationshipDefByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getRelationshipDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getStructDefByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getStructDefByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getStructDefByName(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getStructDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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> getByGuid(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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 getByGuidSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, + @QueryParam("api-version") String apiVersion, @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, @QueryParam("api-version") String apiVersion, + @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> list(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam("includeTermTemplate") boolean includeTermTemplate, @QueryParam("type") String type, + @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 listSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam("includeTermTemplate") boolean includeTermTemplate, @QueryParam("type") String type, + @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> bulkCreate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData typesDef, 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 bulkCreateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData typesDef, 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> bulkUpdate(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData typesDef, 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 bulkUpdateSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData typesDef, 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> bulkDelete(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData typesDef, 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 bulkDeleteSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("accept") String accept, + @BodyParam("application/json") BinaryData typesDef, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedefs/headers") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listHeaders(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam("includeTermTemplate") boolean includeTermTemplate, @QueryParam("type") String type, + @HeaderParam("accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/atlas/v2/types/typedefs/headers") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listHeadersSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam("includeTermTemplate") boolean includeTermTemplate, @QueryParam("type") String type, + @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> getTermTemplateDefByGuid(@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 getTermTemplateDefByGuidSync(@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> getTermTemplateDefByName(@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 getTermTemplateDefByNameSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @PathParam("name") String name, + @HeaderParam("accept") String accept, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge". + * @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 entity Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrUpdateWithResponseAsync(String businessAttributeUpdateBehavior, + String collectionId, BinaryData entity, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.createOrUpdate(this.getEndpoint(), this.getServiceVersion().getVersion(), + businessAttributeUpdateBehavior, collectionId, accept, entity, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 businessAttributeUpdateBehavior Used to define the update behavior for business attributes when updating + * entities. Allowed values: "ignore", "replace", "merge". + * @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 entity Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateWithResponse(String businessAttributeUpdateBehavior, String collectionId, + BinaryData entity, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createOrUpdateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + businessAttributeUpdateBehavior, collectionId, accept, entity, requestOptions, Context.NONE); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listByGuidsWithResponseAsync(List guid, boolean minExtInfo, + boolean ignoreRelationships, RequestOptions requestOptions) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return FluxUtil + .withContext(context -> service.listByGuids(this.getEndpoint(), this.getServiceVersion().getVersion(), + guidConverted, minExtInfo, ignoreRelationships, accept, requestOptions, context)); + } + + /** + * List entities in bulk identified by its GUIDs. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listByGuidsWithResponse(List guid, boolean minExtInfo, + boolean ignoreRelationships, RequestOptions requestOptions) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return service.listByGuidsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guidConverted, + minExtInfo, ignoreRelationships, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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. 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. Allowed values: "ignore", "replace", "merge". + * @param entities An array of entities to create or 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 mutation response of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> bulkCreateOrUpdateWithResponseAsync(String collectionId, + String businessAttributeUpdateBehavior, BinaryData entities, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.bulkCreateOrUpdate(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, businessAttributeUpdateBehavior, accept, entities, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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. 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. Allowed values: "ignore", "replace", "merge". + * @param entities An array of entities to create or 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 mutation response of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response bulkCreateOrUpdateWithResponse(String collectionId, + String businessAttributeUpdateBehavior, BinaryData entities, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.bulkCreateOrUpdateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), collectionId, + businessAttributeUpdateBehavior, accept, entities, 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> bulkDeleteWithResponseAsync(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.bulkDelete(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response bulkDeleteWithResponse(List guid, RequestOptions requestOptions) { + final String accept = "application/json"; + List guidConverted = guid.stream().map(item -> Objects.toString(item, "")).collect(Collectors.toList()); + return service.bulkDeleteSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guidConverted, accept, + requestOptions, Context.NONE); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 request The request to associate a classification to multiple entities. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 request, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addClassification(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, request, requestOptions, context)); + } + + /** + * Associate a classification to multiple entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     classification (Optional): {
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 request The request to associate a classification to multiple entities. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 request, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addClassificationSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, request, + requestOptions, Context.NONE); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean minExtInfo, boolean ignoreRelationships, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.get(this.getEndpoint(), this.getServiceVersion().getVersion(), + guid, minExtInfo, ignoreRelationships, accept, requestOptions, context)); + } + + /** + * Get complete definition of an entity given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean minExtInfo, boolean ignoreRelationships, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, minExtInfo, + ignoreRelationships, 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateAttributeByGuidWithResponseAsync(String guid, String name, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.partialUpdateAttributeByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateAttributeByGuidWithResponse(String guid, String name, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateAttributeByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, + name, accept, body, requestOptions, Context.NONE); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 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.getEndpoint(), this.getServiceVersion().getVersion(), + guid, accept, requestOptions, context)); + } + + /** + * Delete an entity identified by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 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.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, + requestOptions, Context.NONE); + } + + /** + * Get classification for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Optional)
+     *     }
+     *     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.getEndpoint(), + this.getServiceVersion().getVersion(), guid, classificationName, accept, requestOptions, context)); + } + + /** + * Get classification for a given entity represented by a GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Optional)
+     *     }
+     *     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.getEndpoint(), this.getServiceVersion().getVersion(), 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.getEndpoint(), + this.getServiceVersion().getVersion(), 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.getEndpoint(), this.getServiceVersion().getVersion(), 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.getEndpoint(), + this.getServiceVersion().getVersion(), 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.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, + requestOptions, Context.NONE); + } + + /** + * Add classifications to an existing entity represented by a GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addClassifications(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, classifications, requestOptions, context)); + } + + /** + * Add classifications to an existing entity represented by a GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addClassificationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, + classifications, requestOptions, Context.NONE); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateClassifications(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, classifications, requestOptions, context)); + } + + /** + * Update classifications to an existing entity represented by a guid. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 classifications 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 classifications, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateClassificationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, + accept, classifications, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> getByUniqueAttributesWithResponseAsync(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attr, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getByUniqueAttributes(this.getEndpoint(), this.getServiceVersion().getVersion(), + typeName, minExtInfo, ignoreRelationships, attr, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ * + * @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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 getByUniqueAttributesWithResponse(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attr, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByUniqueAttributesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), typeName, + minExtInfo, ignoreRelationships, attr, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasEntityWithExtInfo Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> partialUpdateByUniqueAttributesWithResponseAsync(String typeName, String attr, + BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.partialUpdateByUniqueAttributes(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entity (Optional): (recursive schema, see entity above)
+     * }
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasEntityWithExtInfo Atlas entity with extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response partialUpdateByUniqueAttributesWithResponse(String typeName, String attr, + BinaryData atlasEntityWithExtInfo, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateByUniqueAttributesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + typeName, attr, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteByUniqueAttributeWithResponseAsync(String typeName, String attr, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guidAssignments (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteByUniqueAttributeWithResponse(String typeName, String attr, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteByUniqueAttributeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), typeName, + attr, accept, requestOptions, Context.NONE); + } + + /** + * 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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeClassificationByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, classificationName, attr, accept, requestOptions, + context)); + } + + /** + * 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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, + String attr, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeClassificationByUniqueAttributeSync(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, classificationName, attr, accept, requestOptions, + Context.NONE); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addClassificationsByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, atlasClassificationArray, requestOptions, + context)); + } + + /** + * Add classification to the entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addClassificationsByUniqueAttributeSync(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, atlasClassificationArray, requestOptions, + Context.NONE); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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> updateClassificationsByUniqueAttributeWithResponseAsync(String typeName, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateClassificationsByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, atlasClassificationArray, requestOptions, + context)); + } + + /** + * Update classification on an entity identified by its type and unique attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         attributes (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *         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 attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param atlasClassificationArray 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 updateClassificationsByUniqueAttributeWithResponse(String typeName, String attr, + BinaryData atlasClassificationArray, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateClassificationsByUniqueAttributeSync(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, atlasClassificationArray, requestOptions, + Context.NONE); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 entityHeaders Atlas entity headers. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkSetClassificationsWithResponseAsync(BinaryData entityHeaders, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.bulkSetClassifications(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, entityHeaders, requestOptions, context)); + } + + /** + * Set classifications on entities in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guidHeaderMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 entityHeaders Atlas entity headers. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkSetClassificationsWithResponse(BinaryData entityHeaders, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.bulkSetClassificationsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + entityHeaders, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listByUniqueAttributesWithResponseAsync(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attrNQualifiedName, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.listByUniqueAttributes(this.getEndpoint(), this.getServiceVersion().getVersion(), + typeName, minExtInfo, ignoreRelationships, attrNQualifiedName, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             businessAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             customAttributes (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             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: Double (Optional)
+     *             proxy: Boolean (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             status: String(ACTIVE/DELETED) (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *         }
+     *     }
+     *     entities (Optional): [
+     *         (recursive schema, see above)
+     *     ]
+     * }
+     * }
+ * + * @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). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listByUniqueAttributesWithResponse(String typeName, boolean minExtInfo, + boolean ignoreRelationships, String attrNQualifiedName, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listByUniqueAttributesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), typeName, + minExtInfo, ignoreRelationships, attrNQualifiedName, accept, requestOptions, Context.NONE); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Optional)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, requestOptions, context)); + } + + /** + * Get entity header given its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     attributes (Optional): {
+     *         String: Object (Optional)
+     *     }
+     *     typeName: String (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     classificationNames (Optional): [
+     *         String (Optional)
+     *     ]
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, + requestOptions, Context.NONE); + } + + /** + * Remove business metadata from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param businessMetadata 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 businessMetadata, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeBusinessMetadata(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, businessMetadata, requestOptions, context)); + } + + /** + * Remove business metadata from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param businessMetadata 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 businessMetadata, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeBusinessMetadataSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, + accept, businessMetadata, requestOptions, Context.NONE); + } + + /** + * Add business metadata to an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param isOverwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @param businessMetadata 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, boolean isOverwrite, + BinaryData businessMetadata, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.addOrUpdateBusinessMetadata(this.getEndpoint(), this.getServiceVersion().getVersion(), + guid, isOverwrite, accept, businessMetadata, requestOptions, context)); + } + + /** + * Add business metadata to an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param isOverwrite Whether to overwrite the existing business metadata on the entity or not, + * default is false. + * @param businessMetadata 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, boolean isOverwrite, + BinaryData businessMetadata, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addOrUpdateBusinessMetadataSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, + isOverwrite, accept, businessMetadata, requestOptions, Context.NONE); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeBusinessMetadataAttributes(this.getEndpoint(), + this.getServiceVersion().getVersion(), bmName, guid, accept, businessMetadataAttributes, requestOptions, + context)); + } + + /** + * Delete business metadata attributes from an entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeBusinessMetadataAttributesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + bmName, guid, accept, businessMetadataAttributes, requestOptions, Context.NONE); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addOrUpdateBusinessMetadataAttributes(this.getEndpoint(), + this.getServiceVersion().getVersion(), bmName, guid, accept, businessMetadataAttributes, requestOptions, + context)); + } + + /** + * Add or update business metadata attributes. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     String: Object (Required)
+     * }
+     * }
+ * + * @param bmName BusinessMetadata name. + * @param guid The globally unique identifier of the entity. + * @param businessMetadataAttributes 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 bmName, String guid, + BinaryData businessMetadataAttributes, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addOrUpdateBusinessMetadataAttributesSync(this.getEndpoint(), + this.getServiceVersion().getVersion(), bmName, guid, accept, businessMetadataAttributes, requestOptions, + Context.NONE); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> getSampleBusinessMetadataTemplateWithResponseAsync(RequestOptions requestOptions) { + final String accept = "application/octet-stream"; + return FluxUtil.withContext(context -> service.getSampleBusinessMetadataTemplate(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get the sample Template for uploading/creating bulk BusinessMetaData. + * + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 getSampleBusinessMetadataTemplateWithResponse(RequestOptions requestOptions) { + final String accept = "application/octet-stream"; + return service.getSampleBusinessMetadataTemplateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + accept, requestOptions, Context.NONE); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Request Body Schema + *

+ *
{@code
+     * byte[]
+     * }
+ *

+ * 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 uploadedInputStream InputStream of file. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return example along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> importBusinessMetadataWithResponseAsync(BinaryData uploadedInputStream, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.importBusinessMetadata(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, uploadedInputStream, requestOptions, context)); + } + + /** + * Upload the file for creating Business Metadata in BULK. + *

+ * Request Body Schema + *

+ *
{@code
+     * byte[]
+     * }
+ *

+ * 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 uploadedInputStream InputStream of file. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return example along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response importBusinessMetadataWithResponse(BinaryData uploadedInputStream, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.importBusinessMetadataSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + uploadedInputStream, requestOptions, Context.NONE); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeLabels(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, body, requestOptions, context)); + } + + /** + * Delete given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeLabelsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, body, + requestOptions, Context.NONE); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be set to 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, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.setLabels(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, body, requestOptions, context)); + } + + /** + * Set labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels to be set to 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, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.setLabelsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, body, + requestOptions, Context.NONE); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels 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> addLabelWithResponseAsync(String guid, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addLabel(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, accept, body, requestOptions, context)); + } + + /** + * Add given labels to a given entity. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param guid The globally unique identifier of the entity. + * @param body set of labels 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 addLabelWithResponse(String guid, BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addLabelSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, body, + requestOptions, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.removeLabelsByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, body, requestOptions, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.removeLabelsByUniqueAttributeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + typeName, attr, accept, body, requestOptions, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.setLabelsByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, body, requestOptions, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.setLabelsByUniqueAttributeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + typeName, attr, accept, body, requestOptions, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, + BinaryData body, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.addLabelsByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, attr, accept, body, requestOptions, 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. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *     String (Required)
+     * ]
+     * }
+ * + * @param typeName The name of the type. + * @param attr 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, String attr, BinaryData body, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.addLabelsByUniqueAttributeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + typeName, attr, accept, body, requestOptions, 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 moveEntitiesRequest Entity guids to be moved to target collection. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> moveEntitiesToCollectionWithResponseAsync(String collectionId, + BinaryData moveEntitiesRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.moveEntitiesToCollection(this.getEndpoint(), + this.getServiceVersion().getVersion(), collectionId, accept, moveEntitiesRequest, 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 (Optional)
+     *     }
+     *     mutatedEntities (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 typeName: String (Optional)
+     *                 lastModifiedTS: String (Optional)
+     *                 classificationNames (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 classifications (Optional): [
+     *                      (Optional){
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 moveEntitiesRequest Entity guids to be moved to target collection. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 of entity along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response moveEntitiesToCollectionWithResponse(String collectionId, + BinaryData moveEntitiesRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.moveEntitiesToCollectionSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + collectionId, accept, moveEntitiesRequest, requestOptions, Context.NONE); + } + + /** + * 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listWithResponseAsync(int limit, int offset, String sort, + boolean ignoreTermsAndCategories, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.list(this.getEndpoint(), this.getServiceVersion().getVersion(), + limit, offset, sort, ignoreTermsAndCategories, 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/{glossaryGuid}/terms' + * and + * + * 'GET '/datamap/api/atlas/v2/glossary/{glossaryGuid}/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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listWithResponse(int limit, int offset, String sort, boolean ignoreTermsAndCategories, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listSync(this.getEndpoint(), this.getServiceVersion().getVersion(), limit, offset, sort, + ignoreTermsAndCategories, accept, requestOptions, Context.NONE); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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.getEndpoint(), this.getServiceVersion().getVersion(), + accept, atlasGlossary, requestOptions, context)); + } + + /** + * Create a glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 Glossary definition, terms & categories can be anchored to a glossary. + * Using + * the anchor attribute when creating the Term/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 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.getEndpoint(), this.getServiceVersion().getVersion(), 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 (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 glossaryCategory 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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createCategoriesWithResponseAsync(BinaryData glossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createCategories(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, glossaryCategory, requestOptions, context)); + } + + /** + * Create glossary category in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 glossaryCategory 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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createCategoriesWithResponse(BinaryData glossaryCategory, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createCategoriesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + glossaryCategory, requestOptions, Context.NONE); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryCategory The glossary category definition. A category must be anchored to a Glossary + * when creating. + * Optionally, terms belonging to the category and the hierarchy + * can also be defined during creation. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 glossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createCategory(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, glossaryCategory, requestOptions, context)); + } + + /** + * Create a glossary category. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryCategory The glossary category definition. A category must be anchored to a Glossary + * when creating. + * Optionally, terms belonging to the category and the hierarchy + * can also be defined during creation. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 glossaryCategory, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createCategorySync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + glossaryCategory, requestOptions, Context.NONE); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getCategory(this.getEndpoint(), + this.getServiceVersion().getVersion(), categoryGuid, accept, requestOptions, context)); + } + + /** + * Get specific glossary category by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getCategorySync(this.getEndpoint(), this.getServiceVersion().getVersion(), categoryGuid, 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param glossaryCategory The glossary category 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 category along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateCategoryWithResponseAsync(String categoryGuid, BinaryData glossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateCategory(this.getEndpoint(), + this.getServiceVersion().getVersion(), categoryGuid, accept, glossaryCategory, requestOptions, context)); + } + + /** + * Update the given glossary category by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param glossaryCategory The glossary category 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 category along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateCategoryWithResponse(String categoryGuid, BinaryData glossaryCategory, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateCategorySync(this.getEndpoint(), this.getServiceVersion().getVersion(), categoryGuid, + accept, glossaryCategory, requestOptions, Context.NONE); + } + + /** + * Delete a glossary category. + * + * @param categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteCategory(this.getEndpoint(), + this.getServiceVersion().getVersion(), categoryGuid, accept, requestOptions, context)); + } + + /** + * Delete a glossary category. + * + * @param categoryGuid 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 categoryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteCategorySync(this.getEndpoint(), this.getServiceVersion().getVersion(), categoryGuid, + 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
+     * Object
+     * }
+ *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param partialUpdates 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 categoryGuid, + BinaryData partialUpdates, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.partialUpdateCategory(this.getEndpoint(), + this.getServiceVersion().getVersion(), categoryGuid, accept, partialUpdates, requestOptions, context)); + } + + /** + * Update the glossary category partially. So far we only supports partial + * updating shortDescription and longDescription for category. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 categoryGuid The globally unique identifier of the category. + * @param partialUpdates 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 categoryGuid, BinaryData partialUpdates, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateCategorySync(this.getEndpoint(), this.getServiceVersion().getVersion(), + categoryGuid, accept, partialUpdates, 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. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listRelatedCategoriesWithResponseAsync(String categoryGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listRelatedCategories(this.getEndpoint(), + this.getServiceVersion().getVersion(), categoryGuid, limit, offset, sort, 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. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listRelatedCategoriesWithResponse(String categoryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listRelatedCategoriesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + categoryGuid, limit, offset, sort, accept, requestOptions, Context.NONE); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listCategoryTermsWithResponseAsync(String categoryGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listCategoryTerms(this.getEndpoint(), + this.getServiceVersion().getVersion(), categoryGuid, limit, offset, sort, accept, requestOptions, context)); + } + + /** + * Get all terms associated with the specific category. + * + * @param categoryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listCategoryTermsWithResponse(String categoryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listCategoryTermsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), categoryGuid, + limit, offset, sort, accept, requestOptions, Context.NONE); + } + + /** + * Create a glossary term. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term definition. A term must be anchored to a Glossary at the time + * of creation. + * Optionally it can be categorized as well. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.createTerm(this.getEndpoint(), this.getServiceVersion().getVersion(), + includeTermHierarchy, accept, glossaryTerm, requestOptions, context)); + } + + /** + * Create a glossary term. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term definition. A term must be anchored to a Glossary at the time + * of creation. + * Optionally it can be categorized as well. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createTermSync(this.getEndpoint(), this.getServiceVersion().getVersion(), includeTermHierarchy, + accept, glossaryTerm, 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid 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 termGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTerm(this.getEndpoint(), + this.getServiceVersion().getVersion(), termGuid, 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid 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 termGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermSync(this.getEndpoint(), this.getServiceVersion().getVersion(), termGuid, accept, + requestOptions, Context.NONE); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term 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> updateTermWithResponseAsync(String termGuid, boolean includeTermHierarchy, + BinaryData glossaryTerm, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.updateTerm(this.getEndpoint(), this.getServiceVersion().getVersion(), + termGuid, includeTermHierarchy, accept, glossaryTerm, requestOptions, context)); + } + + /** + * Update the given glossary term by its GUID. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm The glossary term 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 updateTermWithResponse(String termGuid, boolean includeTermHierarchy, + BinaryData glossaryTerm, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateTermSync(this.getEndpoint(), this.getServiceVersion().getVersion(), termGuid, + includeTermHierarchy, accept, glossaryTerm, requestOptions, Context.NONE); + } + + /** + * Delete a glossary term. + * + * @param termGuid 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 termGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteTerm(this.getEndpoint(), + this.getServiceVersion().getVersion(), termGuid, accept, requestOptions, context)); + } + + /** + * Delete a glossary term. + * + * @param termGuid 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 termGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteTermSync(this.getEndpoint(), this.getServiceVersion().getVersion(), termGuid, accept, + requestOptions, Context.NONE); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param partialUpdates 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 termGuid, boolean includeTermHierarchy, + BinaryData partialUpdates, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.partialUpdateTerm(this.getEndpoint(), this.getServiceVersion().getVersion(), + termGuid, includeTermHierarchy, accept, partialUpdates, requestOptions, context)); + } + + /** + * Update the glossary term partially. So far we only supports partial updating + * shortDescription, longDescription, abbreviation, usage and status for term. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             name: String (Optional)
+     *             displayText: String (Optional)
+     *             itemPath: String (Optional)
+     *             resourceId: String (Optional)
+     *             properties (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *     ]
+     *     resources (Optional): [
+     *          (Optional){
+     *             displayName: String (Optional)
+     *             url: String (Optional)
+     *         }
+     *     ]
+     *     contacts (Optional): {
+     *         String (Optional): [
+     *              (Optional){
+     *                 id: String (Optional)
+     *                 info: String (Optional)
+     *             }
+     *         ]
+     *     }
+     *     attributes (Optional): {
+     *         String (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     assignedEntities (Optional): [
+     *          (Optional){
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             displayText: String (Optional)
+     *             entityStatus: String(ACTIVE/DELETED) (Optional)
+     *             relationshipType: String (Optional)
+     *             relationshipAttributes (Optional): {
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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 termGuid The globally unique identifier for glossary term. + * @param includeTermHierarchy Whether include term hierarchy. + * @param partialUpdates 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 termGuid, boolean includeTermHierarchy, + BinaryData partialUpdates, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateTermSync(this.getEndpoint(), this.getServiceVersion().getVersion(), termGuid, + includeTermHierarchy, accept, partialUpdates, requestOptions, Context.NONE); + } + + /** + * Create glossary terms in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 (Optional)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm 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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTermsWithResponseAsync(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.createTerms(this.getEndpoint(), this.getServiceVersion().getVersion(), + includeTermHierarchy, accept, glossaryTerm, requestOptions, context)); + } + + /** + * Create glossary terms in bulk. + *

+ * Request Body Schema + *

+ *
{@code
+     * [
+     *      (Required){
+     *         guid: String (Optional)
+     *         classifications (Optional): [
+     *              (Optional){
+     *                 attributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 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: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         updateTime: Integer (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 (Optional)
+     *                 }
+     *                 name: String (Optional)
+     *                 displayText: String (Optional)
+     *                 itemPath: String (Optional)
+     *                 resourceId: String (Optional)
+     *                 properties (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *         ]
+     *         resources (Optional): [
+     *              (Optional){
+     *                 displayName: String (Optional)
+     *                 url: String (Optional)
+     *             }
+     *         ]
+     *         contacts (Optional): {
+     *             String (Optional): [
+     *                  (Optional){
+     *                     id: String (Optional)
+     *                     info: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *         attributes (Optional): {
+     *             String (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         assignedEntities (Optional): [
+     *              (Optional){
+     *                 guid: String (Optional)
+     *                 typeName: String (Optional)
+     *                 uniqueAttributes (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *                 displayText: String (Optional)
+     *                 entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                 relationshipType: String (Optional)
+     *                 relationshipAttributes (Optional): {
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 includeTermHierarchy Whether include term hierarchy. + * @param glossaryTerm 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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTermsWithResponse(boolean includeTermHierarchy, BinaryData glossaryTerm, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.createTermsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), includeTermHierarchy, + accept, glossaryTerm, requestOptions, Context.NONE); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> listEntitiesAssignedWithTermWithResponseAsync(String termGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listEntitiesAssignedWithTerm(this.getEndpoint(), + this.getServiceVersion().getVersion(), termGuid, limit, offset, sort, accept, requestOptions, context)); + } + + /** + * List all related objects assigned with the specified term. Recommend using + * limit/offset to get pagination result. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 listEntitiesAssignedWithTermWithResponse(String termGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listEntitiesAssignedWithTermSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + termGuid, limit, offset, sort, 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, BinaryData relatedObjectIds, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.assignTermToEntities(this.getEndpoint(), + this.getServiceVersion().getVersion(), termGuid, accept, relatedObjectIds, 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, BinaryData relatedObjectIds, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.assignTermToEntitiesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), termGuid, + accept, relatedObjectIds, 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, + BinaryData relatedObjectIds, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.deleteTermAssignmentFromEntities(this.getEndpoint(), + this.getServiceVersion().getVersion(), termGuid, accept, relatedObjectIds, 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 (Optional)
+     *         }
+     *         displayText: String (Optional)
+     *         entityStatus: String(ACTIVE/DELETED) (Optional)
+     *         relationshipType: String (Optional)
+     *         relationshipAttributes (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *         }
+     *         relationshipGuid: String (Optional)
+     *         relationshipStatus: String(ACTIVE/DELETED) (Optional)
+     *     }
+     * ]
+     * }
+ * + * @param termGuid The globally unique identifier for glossary term. + * @param relatedObjectIds 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 termGuid, BinaryData relatedObjectIds, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteTermAssignmentFromEntitiesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + termGuid, accept, relatedObjectIds, 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. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listRelatedTermsWithResponseAsync(String termGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listRelatedTerms(this.getEndpoint(), + this.getServiceVersion().getVersion(), termGuid, limit, offset, sort, 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. + * + * @param termGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listRelatedTermsWithResponse(String termGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listRelatedTermsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), termGuid, limit, + offset, sort, 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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.get(this.getEndpoint(), this.getServiceVersion().getVersion(), + glossaryGuid, accept, requestOptions, context)); + } + + /** + * Get a specific Glossary by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, accept, + requestOptions, Context.NONE); + } + + /** + * Update the given glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateWithResponseAsync(String glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData updatedGlossary, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.update(this.getEndpoint(), this.getServiceVersion().getVersion(), + glossaryGuid, ignoreTermsAndCategories, accept, updatedGlossary, requestOptions, context)); + } + + /** + * Update the given glossary. + *

+ * Request Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param updatedGlossary The glossary definition 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 object along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(String glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData updatedGlossary, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.updateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, + ignoreTermsAndCategories, accept, updatedGlossary, requestOptions, Context.NONE); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.delete(this.getEndpoint(), this.getServiceVersion().getVersion(), + glossaryGuid, accept, requestOptions, context)); + } + + /** + * Delete a glossary. Will delete underlying terms/categories together. Recommend + * separate delete terms and categories. + * + * @param glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.deleteSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, accept, + requestOptions, Context.NONE); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> listCategoriesWithResponseAsync(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listCategories(this.getEndpoint(), + this.getServiceVersion().getVersion(), glossaryGuid, limit, offset, sort, accept, requestOptions, context)); + } + + /** + * Get the categories belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 listCategoriesWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listCategoriesSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, + limit, offset, sort, accept, requestOptions, Context.NONE); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> listCategoriesHeadersWithResponseAsync(String glossaryGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listCategoriesHeaders(this.getEndpoint(), + this.getServiceVersion().getVersion(), glossaryGuid, limit, offset, sort, accept, requestOptions, context)); + } + + /** + * Get the category headers belonging to a specific glossary. Recommend using + * limit/offset to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 listCategoriesHeadersWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listCategoriesHeadersSync(this.getEndpoint(), this.getServiceVersion().getVersion(), + glossaryGuid, limit, offset, sort, 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/{glossaryGuid}/terms' and + * + * 'GET + * '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getDetailed(this.getEndpoint(), + this.getServiceVersion().getVersion(), glossaryGuid, 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/{glossaryGuid}/terms' and + * + * 'GET + * '/datamap/api/atlas/v2/glossary/{glossaryGuid}/categories'. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional): {
+     *             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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             updateTime: Integer (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 (Optional)
+     *                     }
+     *                     name: String (Optional)
+     *                     displayText: String (Optional)
+     *                     itemPath: String (Optional)
+     *                     resourceId: String (Optional)
+     *                     properties (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                 }
+     *             ]
+     *             resources (Optional): [
+     *                  (Optional){
+     *                     displayName: String (Optional)
+     *                     url: String (Optional)
+     *                 }
+     *             ]
+     *             contacts (Optional): {
+     *                 String (Optional): [
+     *                      (Optional){
+     *                         id: String (Optional)
+     *                         info: String (Optional)
+     *                     }
+     *                 ]
+     *             }
+     *             attributes (Optional): {
+     *                 String (Optional): {
+     *                     String: Object (Optional)
+     *                 }
+     *             }
+     *             assignedEntities (Optional): [
+     *                  (Optional){
+     *                     guid: String (Optional)
+     *                     typeName: String (Optional)
+     *                     uniqueAttributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     displayText: String (Optional)
+     *                     entityStatus: String(ACTIVE/DELETED) (Optional)
+     *                     relationshipType: String (Optional)
+     *                     relationshipAttributes (Optional): {
+     *                         attributes (Optional): {
+     *                             String: Object (Optional)
+     *                         }
+     *                         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 glossaryGuid 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 glossaryGuid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getDetailedSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, 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. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param partialUpdates 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 glossaryGuid, + boolean ignoreTermsAndCategories, BinaryData partialUpdates, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.partialUpdate(this.getEndpoint(), this.getServiceVersion().getVersion(), + glossaryGuid, ignoreTermsAndCategories, accept, partialUpdates, 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. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     guid: String (Optional)
+     *     classifications (Optional): [
+     *          (Optional){
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             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: Integer (Optional)
+     *     createdBy: String (Optional)
+     *     updateTime: Integer (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 glossaryGuid The globally unique identifier for glossary. + * @param ignoreTermsAndCategories Whether ignore terms and categories. + * @param partialUpdates 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 glossaryGuid, boolean ignoreTermsAndCategories, + BinaryData partialUpdates, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.partialUpdateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, + ignoreTermsAndCategories, accept, partialUpdates, requestOptions, Context.NONE); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listTermsWithResponseAsync(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listTerms(this.getEndpoint(), + this.getServiceVersion().getVersion(), glossaryGuid, limit, offset, sort, accept, requestOptions, context)); + } + + /** + * Get terms belonging to a specific glossary. Recommend using limit/offset to get + * pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listTermsWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listTermsSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, limit, + offset, sort, accept, requestOptions, Context.NONE); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> listTermHeadersWithResponseAsync(String glossaryGuid, int limit, int offset, + String sort, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listTermHeaders(this.getEndpoint(), + this.getServiceVersion().getVersion(), glossaryGuid, limit, offset, sort, accept, requestOptions, context)); + } + + /** + * Get term headers belonging to a specific glossary. Recommend using limit/offset + * to get pagination result. + * + * @param glossaryGuid 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. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 listTermHeadersWithResponse(String glossaryGuid, int limit, int offset, String sort, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listTermHeadersSync(this.getEndpoint(), this.getServiceVersion().getVersion(), glossaryGuid, + limit, offset, sort, accept, requestOptions, Context.NONE); + } + + /** + * 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: Object (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: Integer (Optional)
+     *             updateTime: Integer (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 searchRequest An object specifying the search criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 searchRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.query(this.getEndpoint(), this.getServiceVersion().getVersion(), + accept, searchRequest, 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: Object (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: Integer (Optional)
+     *             updateTime: Integer (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 searchRequest An object specifying the search criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 searchRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.querySync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, searchRequest, + 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: Integer (Optional)
+     *             updateTime: Integer (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 suggestRequest An object specifying the suggest criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 suggestRequest, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.suggest(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, suggestRequest, 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: Integer (Optional)
+     *             updateTime: Integer (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 suggestRequest An object specifying the suggest criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 suggestRequest, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.suggestSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, suggestRequest, + 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 autoCompleteRequest An object specifying the autocomplete criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 autoCompleteRequest, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.autoComplete(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, autoCompleteRequest, 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 autoCompleteRequest An object specifying the autocomplete criteria. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 autoCompleteRequest, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.autoCompleteSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, + autoCompleteRequest, requestOptions, Context.NONE); + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, int depth, String direction, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.get(this.getEndpoint(), this.getServiceVersion().getVersion(), + guid, depth, direction, accept, requestOptions, context)); + } + + /** + * Get lineage info of the entity specified by GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, int depth, String direction, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, depth, direction, + accept, requestOptions, Context.NONE); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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: "BOTH", + * "INPUT", "OUTPUT". + * @param offset The offset for pagination purpose. + * @param limit The page size - by default there is no paging. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int offset, int limit, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getNextPage(this.getEndpoint(), + this.getServiceVersion().getVersion(), guid, direction, offset, limit, accept, requestOptions, context)); + } + + /** + * Return immediate next page lineage info about entity with pagination. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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: "BOTH", + * "INPUT", "OUTPUT". + * @param offset The offset for pagination purpose. + * @param limit The page size - by default there is no paging. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int offset, int limit, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getNextPageSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, direction, + offset, limit, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int depth, + String direction, String attr, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getByUniqueAttribute(this.getEndpoint(), + this.getServiceVersion().getVersion(), typeName, depth, direction, attr, 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. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     baseEntityGuid: String (Optional)
+     *     guidEntityMap (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional): {
+     *             String: Object (Optional)
+     *         }
+     *     }
+     *     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 depth The number of hops for lineage. + * @param direction The direction of the lineage, which could be INPUT, OUTPUT or BOTH. Allowed values: "BOTH", + * "INPUT", "OUTPUT". + * @param attr The qualified name of the entity. (This is only an example. qualifiedName can + * be changed to other unique attributes). + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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, int depth, String direction, + String attr, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByUniqueAttributeSync(this.getEndpoint(), this.getServiceVersion().getVersion(), typeName, + depth, direction, attr, accept, requestOptions, Context.NONE); + } + + /** + * Create a new relationship between entities. + *

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Request Body Schema + *

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

+ * Response Body Schema + *

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

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Double (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Integer (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Double (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @param extendedInfo Limits whether includes extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean extendedInfo, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.get(this.getEndpoint(), this.getServiceVersion().getVersion(), + guid, extendedInfo, accept, requestOptions, context)); + } + + /** + * Get relationship information between entities by its GUID. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     referredEntities (Optional): {
+     *         String (Optional): {
+     *             attributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             classificationNames (Optional): [
+     *                 String (Optional)
+     *             ]
+     *             classifications (Optional): [
+     *                  (Optional){
+     *                     attributes (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *         }
+     *         typeName: String (Optional)
+     *         lastModifiedTS: String (Optional)
+     *         createTime: Integer (Optional)
+     *         createdBy: String (Optional)
+     *         end1 (Optional): {
+     *             guid: String (Optional)
+     *             typeName: String (Optional)
+     *             uniqueAttributes (Optional): {
+     *                 String: Object (Optional)
+     *             }
+     *         }
+     *         end2 (Optional): (recursive schema, see end2 above)
+     *         guid: String (Optional)
+     *         homeId: String (Optional)
+     *         label: String (Optional)
+     *         provenanceType: Double (Optional)
+     *         status: String(ACTIVE/DELETED) (Optional)
+     *         updateTime: Integer (Optional)
+     *         updatedBy: String (Optional)
+     *         version: Double (Optional)
+     *     }
+     * }
+     * }
+ * + * @param guid The globally unique identifier of the relationship. + * @param extendedInfo Limits whether includes extended information. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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, boolean extendedInfo, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSync(this.getEndpoint(), this.getServiceVersion().getVersion(), guid, extendedInfo, 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.getEndpoint(), this.getServiceVersion().getVersion(), + 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.getEndpoint(), this.getServiceVersion().getVersion(), guid, accept, + requestOptions, Context.NONE); + } + + /** + * 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getBusinessMetadataDefByGuidWithResponseAsync(String guid, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getBusinessMetadataDefByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getBusinessMetadataDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getBusinessMetadataDefByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getBusinessMetadataDefByNameWithResponseAsync(String name, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getBusinessMetadataDefByName(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getBusinessMetadataDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getBusinessMetadataDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getClassificationDefByGuidWithResponseAsync(String guid, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getClassificationDefByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getClassificationDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassificationDefByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getClassificationDefByNameWithResponseAsync(String name, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getClassificationDefByName(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getClassificationDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getClassificationDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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> getEntityDefByGuidWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getEntityDefByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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 getEntityDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEntityDefByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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> getEntityDefByNameWithResponseAsync(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getEntityDefByName(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 (Optional)
+     *             }
+     *             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 getEntityDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEntityDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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> getEnumDefByGuidWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getEnumDefByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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 getEnumDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEnumDefByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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> getEnumDefByNameWithResponseAsync(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getEnumDefByName(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     defaultValue: String (Optional)
+     *     elementDefs (Optional): [
+     *          (Optional){
+     *             description: String (Optional)
+     *             ordinal: Double (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 getEnumDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getEnumDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getRelationshipDefByGuidWithResponseAsync(String guid, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getRelationshipDefByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getRelationshipDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRelationshipDefByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getRelationshipDefByNameWithResponseAsync(String name, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getRelationshipDefByName(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getRelationshipDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getRelationshipDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getStructDefByGuidWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getStructDefByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getStructDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getStructDefByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getStructDefByNameWithResponseAsync(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getStructDefByName(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getStructDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getStructDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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> getByGuidWithResponseAsync(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getByGuid(this.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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 getByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getByGuidSync(this.getEndpoint(), this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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.getEndpoint(), + this.getServiceVersion().getVersion(), 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (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 (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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: Double (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 (Optional)
+     *             }
+     *             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.getEndpoint(), this.getServiceVersion().getVersion(), 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.getEndpoint(), this.getServiceVersion().getVersion(), + 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.getEndpoint(), this.getServiceVersion().getVersion(), name, accept, + requestOptions, Context.NONE); + } + + /** + * List all type definitions in bulk. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 definitions of types along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listWithResponseAsync(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.list(this.getEndpoint(), this.getServiceVersion().getVersion(), + includeTermTemplate, type, accept, requestOptions, context)); + } + + /** + * List all type definitions in bulk. + *

+ * Response Body Schema + *

+ *
{@code
+     * {
+     *     businessMetadataDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 definitions of types along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response listWithResponse(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listSync(this.getEndpoint(), this.getServiceVersion().getVersion(), includeTermTemplate, type, + 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite wrapper object with corresponding lists of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkCreateWithResponseAsync(BinaryData typesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.bulkCreate(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite wrapper object with corresponding lists of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkCreateWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.bulkCreateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, typesDef, + 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all type definition changes. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkUpdateWithResponseAsync(BinaryData typesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.bulkUpdate(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all type definition changes. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkUpdateWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.bulkUpdateSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, typesDef, + 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all types to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> bulkDeleteWithResponseAsync(BinaryData typesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.bulkDelete(this.getEndpoint(), + this.getServiceVersion().getVersion(), accept, typesDef, 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: Integer (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 (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                  (Optional){
+     *                     cardinality: String(SINGLE/LIST/SET) (Optional)
+     *                     constraints (Optional): [
+     *                          (Optional){
+     *                             params (Optional): {
+     *                                 String: Object (Optional)
+     *                             }
+     *                             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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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 (Optional)
+     *                     }
+     *                     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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             defaultValue: String (Optional)
+     *             elementDefs (Optional): [
+     *                  (Optional){
+     *                     description: String (Optional)
+     *                     ordinal: Double (Optional)
+     *                     value: String (Optional)
+     *                 }
+     *             ]
+     *         }
+     *     ]
+     *     relationshipDefs (Optional): [
+     *          (Optional){
+     *             category: String(PRIMITIVE/OBJECT_ID_TYPE/ENUM/STRUCT/CLASSIFICATION/ENTITY/ARRAY/MAP/RELATIONSHIP/TERM_TEMPLATE) (Optional)
+     *             createTime: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (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: Integer (Optional)
+     *             createdBy: String (Optional)
+     *             dateFormatter (Optional): (recursive schema, see dateFormatter above)
+     *             description: String (Optional)
+     *             guid: String (Optional)
+     *             name: String (Required)
+     *             options (Optional): {
+     *                 String: String (Optional)
+     *             }
+     *             serviceType: String (Optional)
+     *             typeVersion: String (Optional)
+     *             updateTime: Integer (Optional)
+     *             updatedBy: String (Optional)
+     *             version: Double (Optional)
+     *             lastModifiedTS: String (Optional)
+     *             attributeDefs (Optional): [
+     *                 (recursive schema, see above)
+     *             ]
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param typesDef A composite object that captures all types to be deleted. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 bulkDeleteWithResponse(BinaryData typesDef, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.bulkDeleteSync(this.getEndpoint(), this.getServiceVersion().getVersion(), accept, typesDef, + requestOptions, Context.NONE); + } + + /** + * 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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> listHeadersWithResponseAsync(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listHeaders(this.getEndpoint(), + this.getServiceVersion().getVersion(), includeTermTemplate, type, accept, requestOptions, context)); + } + + /** + * 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. Allowed values: "enum", "entity", "classification", + * "relationship", "struct", "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 {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response listHeadersWithResponse(boolean includeTermTemplate, String type, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.listHeadersSync(this.getEndpoint(), this.getServiceVersion().getVersion(), includeTermTemplate, + type, 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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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> getTermTemplateDefByGuidWithResponseAsync(String guid, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTermTemplateDefByGuid(this.getEndpoint(), + this.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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             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 getTermTemplateDefByGuidWithResponse(String guid, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermTemplateDefByGuidSync(this.getEndpoint(), this.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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> getTermTemplateDefByNameWithResponseAsync(String name, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTermTemplateDefByName(this.getEndpoint(), + this.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: Integer (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 (Required)
+     *     options (Optional): {
+     *         String: String (Optional)
+     *     }
+     *     serviceType: String (Optional)
+     *     typeVersion: String (Optional)
+     *     updateTime: Integer (Optional)
+     *     updatedBy: String (Optional)
+     *     version: Double (Optional)
+     *     lastModifiedTS: String (Optional)
+     *     attributeDefs (Optional): [
+     *          (Optional){
+     *             cardinality: String(SINGLE/LIST/SET) (Optional)
+     *             constraints (Optional): [
+     *                  (Optional){
+     *                     params (Optional): {
+     *                         String: Object (Optional)
+     *                     }
+     *                     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 (Optional)
+     *             }
+     *             typeName: String (Optional)
+     *             valuesMaxCount: Integer (Optional)
+     *             valuesMinCount: Integer (Optional)
+     *         }
+     *     ]
+     * }
+     * }
+ * + * @param name The name of the type definition. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 getTermTemplateDefByNameWithResponse(String name, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTermTemplateDefByNameSync(this.getEndpoint(), this.getServiceVersion().getVersion(), name, + accept, requestOptions, Context.NONE); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/implementation/package-info.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasAttributeDef.java new file mode 100644 index 0000000000000..bea06892a6602 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Cardinality 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 Cardinality 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(Cardinality 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java new file mode 100644 index 0000000000000..89166257a5d1c --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasBusinessMetadataDef.java @@ -0,0 +1,447 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassification.java new file mode 100644 index 0000000000000..ca31c978d8960 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Status 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 Status 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(Status 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java new file mode 100644 index 0000000000000..7992be0743a8c --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassificationDef.java @@ -0,0 +1,594 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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. + * <ul> + * <li>Any subtypes + * of the entity types inherit the restriction</li> + * <li>Any classificationDef + * subtypes inherit the parents entityTypes restrictions</li> + * <li>Any + * classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes</li> + * <li>An empty + * entityTypes list when there are no parent restrictions means there are no + * restrictions</li> + * <li>An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions</li> + * <li>If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs</li> + * </ul>. + * + * @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. + * <ul> + * <li>Any subtypes + * of the entity types inherit the restriction</li> + * <li>Any classificationDef + * subtypes inherit the parents entityTypes restrictions</li> + * <li>Any + * classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes</li> + * <li>An empty + * entityTypes list when there are no parent restrictions means there are no + * restrictions</li> + * <li>An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions</li> + * <li>If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs</li> + * </ul>. + * + * @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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasClassifications.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasConstraintDef.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntitiesWithExtInfo.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntity.java new file mode 100644 index 0000000000000..3f90fdd3698a0 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer 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 Double 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 Status status; + + /* + * The update time of the record. + */ + @Generated + @JsonProperty(value = "updateTime") + private Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the entity. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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 Double 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(Double 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 Status 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(Status status) { + this.status = status; + return this; + } + + /** + * Get the updateTime property: The update time of the record. + * + * @return the updateTime value. + */ + @Generated + public Integer 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(Integer 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java new file mode 100644 index 0000000000000..2ee550477fc8d --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityDef.java @@ -0,0 +1,534 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeader.java new file mode 100644 index 0000000000000..086c8a9d60c35 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Status 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 Status 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(Status status) { + this.status = status; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityHeaders.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEntityWithExtInfo.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java new file mode 100644 index 0000000000000..e15c5534bd7e2 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumDef.java @@ -0,0 +1,476 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasEnumElementDef.java new file mode 100644 index 0000000000000..f4f64c3d47f09 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Double 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossary.java new file mode 100644 index 0000000000000..d90ca7e63d20b --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer 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 Integer 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 Integer 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(Integer 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 Integer 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(Integer 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryCategory.java new file mode 100644 index 0000000000000..9458baa9371ad --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer 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 Integer 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 Integer 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(Integer 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 Integer 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(Integer 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryExtInfo.java new file mode 100644 index 0000000000000..edddedb28441a --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer 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 Integer 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 Integer 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 Integer 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryHeader.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasGlossaryTerm.java new file mode 100644 index 0000000000000..4629994e5827f --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer 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 Integer 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 Integer 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(Integer 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 Integer 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(Integer 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasLineageInfo.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasObjectId.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedCategoryHeader.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedObjectId.java new file mode 100644 index 0000000000000..43b67273c2e7a --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Status 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 Status 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(Status 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelatedTermHeader.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationship.java new file mode 100644 index 0000000000000..a8028d189c8bd --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer 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 Double provenanceType; + + /* + * The enum of relationship status. + */ + @Generated + @JsonProperty(value = "status") + private StatusAtlasRelationship status; + + /* + * The update time of the record. + */ + @Generated + @JsonProperty(value = "updateTime") + private Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the relationship. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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 Double 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(Double 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 Integer 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(Integer 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 Double 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(Double version) { + this.version = version; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipAttributeDef.java new file mode 100644 index 0000000000000..e5b7b719abd47 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Cardinality 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 Cardinality 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(Cardinality 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java new file mode 100644 index 0000000000000..f5ce20b64e44a --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipDef.java @@ -0,0 +1,669 @@ +// 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. + * <p> + * 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. + * <p> + * RelationshipDefs have 2 ends, each of which + * specify cardinality, an EntityDef type name and name and optionally + * whether the + * end is a container. + * <p> + * RelationshipDefs can have AttributeDefs - though only + * primitive types are allowed. <br> + * RelationshipDefs have a relationshipCategory + * specifying the UML type of relationship required <br> + * 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. + * <p> + * RelationshipDefs introduce new attributes to the entity + * instances. For example + * <p> + * EntityDef A might have attributes attr1,attr2,attr3 + * <br> + * EntityDef B might have attributes attr4,attr5,attr6 <br> + * RelationshipDef + * AtoB might define 2 ends <br> + * + * <pre> + * end1: type A, name attr7 + * end2: + * type B, name attr8 </pre> + * + * <p> + * When an instance of EntityDef A is created, it + * will have attributes attr1,attr2,attr3,attr7 <br> + * When an instance of EntityDef + * B is created, it will have attributes attr4,attr5,attr6,attr8 + * <p> + * 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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. + * <p> + * ASSOCIATION is a relationship with no containment. <br> + * COMPOSITION + * and AGGREGATION are containment relationships. + * <p> + * 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. + * <p> + * ASSOCIATION is a relationship with no containment. <br> + * COMPOSITION + * and AGGREGATION are containment relationships. + * <p> + * 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipEndDef.java new file mode 100644 index 0000000000000..7610247e98c81 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Cardinality 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 Cardinality 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(Cardinality 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasRelationshipWithExtInfo.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStruct.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java new file mode 100644 index 0000000000000..29693abb2cbf6 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasStructDef.java @@ -0,0 +1,447 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentHeader.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermAssignmentStatus.java new file mode 100644 index 0000000000000..234e8348833a9 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 discorverred. + */ + @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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermCategorizationHeader.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTermRelationshipStatus.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java new file mode 100644 index 0000000000000..5dbd1ddc57569 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypeDef.java @@ -0,0 +1,529 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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 Integer 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 Double 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. + * <ul> + * <li>Any subtypes + * of the entity types inherit the restriction</li> + * <li>Any classificationDef + * subtypes inherit the parents entityTypes restrictions</li> + * <li>Any + * classificationDef subtypes can further restrict the parents entityTypes + * restrictions by specifying a subset of the entityTypes</li> + * <li>An empty + * entityTypes list when there are no parent restrictions means there are no + * restrictions</li> + * <li>An empty entityTypes list when there are parent + * restrictions means that the subtype picks up the parents + * restrictions</li> + * <li>If a list of entityTypes are supplied, where one inherits + * from another, this will be rejected. This should encourage cleaner + * classificationsDefs</li> + * </ul>. + * + * @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. + * <p> + * ASSOCIATION is a relationship with no containment. <br> + * COMPOSITION + * and AGGREGATION are containment relationships. + * <p> + * 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AtlasTypesDef.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteRequest.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteRequest.java new file mode 100644 index 0000000000000..518aaa7dd2e37 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteRequest.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 query of autocomplete request. + */ +@Fluent +public final class AutoCompleteRequest { + /* + * 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 AutoCompleteRequest class. + */ + @Generated + public AutoCompleteRequest() { + } + + /** + * 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 AutoCompleteRequest object itself. + */ + @Generated + public AutoCompleteRequest 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 AutoCompleteRequest object itself. + */ + @Generated + public AutoCompleteRequest 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 AutoCompleteRequest object itself. + */ + @Generated + public AutoCompleteRequest setFilter(Object filter) { + this.filter = filter; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResult.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/AutoCompleteResultValue.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResponse.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResponse.java new file mode 100644 index 0000000000000..28ad2e27f07bd --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BulkImportResponse.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; + +/** + * example. + */ +@Immutable +public final class BulkImportResponse { + /* + * failed importInfoList + */ + @Generated + @JsonProperty(value = "failedImportInfoList") + private List failedImportInfoList; + + /* + * successful importInfoList + */ + @Generated + @JsonProperty(value = "successImportInfoList") + private List successImportInfoList; + + /** + * Creates an instance of BulkImportResponse class. + */ + @Generated + private BulkImportResponse() { + } + + /** + * 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/BusinessAttributeUpdateBehavior.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Cardinality.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Cardinality.java new file mode 100644 index 0000000000000..ddafddba26021 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Cardinality.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 Cardinality extends ExpandableStringEnum { + /** + * single. + */ + @Generated + public static final Cardinality SINGLE = fromString("SINGLE"); + + /** + * list. + */ + @Generated + public static final Cardinality LIST = fromString("LIST"); + + /** + * set. + */ + @Generated + public static final Cardinality SET = fromString("SET"); + + /** + * Creates a new instance of Cardinality value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Cardinality() { + } + + /** + * Creates or finds a Cardinality from its string representation. + * + * @param name a name to look for. + * @return the corresponding Cardinality. + */ + @Generated + @JsonCreator + public static Cardinality fromString(String name) { + return fromString(name, Cardinality.class); + } + + /** + * Gets known Cardinality values. + * + * @return known Cardinality values. + */ + @Generated + public static Collection values() { + return values(Cardinality.class); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateRequest.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateRequest.java new file mode 100644 index 0000000000000..32c5b61a259cc --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ClassificationAssociateRequest.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 for classification association. + */ +@Fluent +public final class ClassificationAssociateRequest { + /* + * 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 ClassificationAssociateRequest class. + */ + @Generated + public ClassificationAssociateRequest() { + } + + /** + * 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 ClassificationAssociateRequest object itself. + */ + @Generated + public ClassificationAssociateRequest 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 ClassificationAssociateRequest object itself. + */ + @Generated + public ClassificationAssociateRequest setEntityGuids(List entityGuids) { + this.entityGuids = entityGuids; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactBasic.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactBasic.java new file mode 100644 index 0000000000000..2d1d3465bdb2e --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactBasic.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; + +/** + * ContactBasic. + */ +@Fluent +public final class ContactBasic { + /* + * 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 ContactBasic class. + */ + @Generated + public ContactBasic() { + } + + /** + * 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 ContactBasic object itself. + */ + @Generated + public ContactBasic 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 ContactBasic object itself. + */ + @Generated + public ContactBasic setInfo(String info) { + this.info = info; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ContactSearchResultValue.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/DateFormat.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Direction.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Direction.java new file mode 100644 index 0000000000000..b42c57f2af986 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Direction.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; + +/** + * Direction. + */ +public final class Direction extends ExpandableStringEnum { + /** + * both. + */ + @Generated + public static final Direction BOTH = fromString("BOTH"); + + /** + * input. + */ + @Generated + public static final Direction INPUT = fromString("INPUT"); + + /** + * output. + */ + @Generated + public static final Direction OUTPUT = fromString("OUTPUT"); + + /** + * Creates a new instance of Direction value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Direction() { + } + + /** + * Creates or finds a Direction from its string representation. + * + * @param name a name to look for. + * @return the corresponding Direction. + */ + @Generated + @JsonCreator + public static Direction fromString(String name) { + return fromString(name, Direction.class); + } + + /** + * Gets known Direction values. + * + * @return known Direction values. + */ + @Generated + public static Collection values() { + return values(Direction.class); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResponse.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResponse.java new file mode 100644 index 0000000000000..a38626f014691 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/EntityMutationResponse.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 of entity. + */ +@Immutable +public final class EntityMutationResponse { + /* + * 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 EntityMutationResponse class. + */ + @Generated + private EntityMutationResponse() { + } + + /** + * 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportInfo.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ImportStatus.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageDirection.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/LineageRelation.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesRequest.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesRequest.java new file mode 100644 index 0000000000000..c54e7f0e541c1 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/MoveEntitiesRequest.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; + +/** + * MoveEntitiesRequest. + */ +@Fluent +public final class MoveEntitiesRequest { + /* + * An array of entity guids to be moved to target collection. + */ + @Generated + @JsonProperty(value = "entityGuids") + private List entityGuids; + + /** + * Creates an instance of MoveEntitiesRequest class. + */ + @Generated + public MoveEntitiesRequest() { + } + + /** + * 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 MoveEntitiesRequest object itself. + */ + @Generated + public MoveEntitiesRequest setEntityGuids(List entityGuids) { + this.entityGuids = entityGuids; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/NumberFormat.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ParentRelation.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/PurviewObjectId.java new file mode 100644 index 0000000000000..38a28330f3b5d --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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; + + /* + * Resouce 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: Resouce Id. + * + * @return the resourceId value. + */ + @Generated + public String getResourceId() { + return this.resourceId; + } + + /** + * Set the resourceId property: Resouce 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RelationshipCategory.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/ResourceLink.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/RoundingMode.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItem.java new file mode 100644 index 0000000000000..2a7992b893fb4 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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; + + /* + * Any object + */ + @Generated + @JsonProperty(value = "sort") + private Object 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: Any object. + * + * @return the sort value. + */ + @Generated + public Object getSort() { + return this.sort; + } + + /** + * Set the sort property: Any object. + * + * @param sort the sort value to set. + * @return the SearchFacetItem object itself. + */ + @Generated + public SearchFacetItem setSort(Object sort) { + this.sort = sort; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetItemValue.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchFacetResultValue.java new file mode 100644 index 0000000000000..15ae199aab25d --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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; + + /* + * Classiciation + */ + @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: Classiciation. + * + * @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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchHighlights.java new file mode 100644 index 0000000000000..377022ebb8c02 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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; + + /* + * Descirption + */ + @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: Descirption. + * + * @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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchRequest.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchRequest.java new file mode 100644 index 0000000000000..93526a07030a6 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchRequest.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 SearchRequest { + /* + * 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 SearchRequestTaxonomySetting taxonomySetting; + + /** + * Creates an instance of SearchRequest class. + */ + @Generated + public SearchRequest() { + } + + /** + * 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 SearchRequest object itself. + */ + @Generated + public SearchRequest 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 SearchRequest object itself. + */ + @Generated + public SearchRequest 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 SearchRequest object itself. + */ + @Generated + public SearchRequest 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 SearchRequest object itself. + */ + @Generated + public SearchRequest 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 SearchRequest object itself. + */ + @Generated + public SearchRequest 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 SearchRequest object itself. + */ + @Generated + public SearchRequest setFacets(List facets) { + this.facets = facets; + return this; + } + + /** + * Get the taxonomySetting property: The taxonomy setting for search. + * + * @return the taxonomySetting value. + */ + @Generated + public SearchRequestTaxonomySetting getTaxonomySetting() { + return this.taxonomySetting; + } + + /** + * Set the taxonomySetting property: The taxonomy setting for search. + * + * @param taxonomySetting the taxonomySetting value to set. + * @return the SearchRequest object itself. + */ + @Generated + public SearchRequest setTaxonomySetting(SearchRequestTaxonomySetting taxonomySetting) { + this.taxonomySetting = taxonomySetting; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchRequestTaxonomySetting.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchRequestTaxonomySetting.java new file mode 100644 index 0000000000000..48274302e45c8 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchRequestTaxonomySetting.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 SearchRequestTaxonomySetting { + /* + * 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 SearchRequestTaxonomySetting class. + */ + @Generated + public SearchRequestTaxonomySetting() { + } + + /** + * 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 SearchRequestTaxonomySetting object itself. + */ + @Generated + public SearchRequestTaxonomySetting 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 SearchRequestTaxonomySetting object itself. + */ + @Generated + public SearchRequestTaxonomySetting setFacet(SearchFacetItem facet) { + this.facet = facet; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResult.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResult.java new file mode 100644 index 0000000000000..c12268a14d838 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResult.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 SearchResult { + /* + * 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 SearchResult class. + */ + @Generated + private SearchResult() { + } + + /** + * 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SearchResultValue.java new file mode 100644 index 0000000000000..43723546a0f6f --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer createTime; + + /* + * The last update time of the record. The Unix epoch format. + */ + @Generated + @JsonProperty(value = "updateTime") + private Integer 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 Integer 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 Integer 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SortType.java new file mode 100644 index 0000000000000..f57245168f8c8 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 ASC = fromString("ASC"); + + /** + * Use descending order for sorting. + */ + @Generated + public static final SortType DESC = 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Status.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Status.java new file mode 100644 index 0000000000000..05881cbb2450c --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Status.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 Status extends ExpandableStringEnum { + /** + * The status is active. + */ + @Generated + public static final Status ACTIVE = fromString("ACTIVE"); + + /** + * The status is deleted. + */ + @Generated + public static final Status DELETED = fromString("DELETED"); + + /** + * Creates a new instance of Status value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Status() { + } + + /** + * Creates or finds a Status from its string representation. + * + * @param name a name to look for. + * @return the corresponding Status. + */ + @Generated + @JsonCreator + public static Status fromString(String name) { + return fromString(name, Status.class); + } + + /** + * Gets known Status values. + * + * @return known Status values. + */ + @Generated + public static Collection values() { + return values(Status.class); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/StatusAtlasRelationship.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestRequest.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestRequest.java new file mode 100644 index 0000000000000..85550aeb47096 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestRequest.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 query of suggest request. + */ +@Fluent +public final class SuggestRequest { + /* + * 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 SuggestRequest class. + */ + @Generated + public SuggestRequest() { + } + + /** + * 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 SuggestRequest object itself. + */ + @Generated + public SuggestRequest 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 SuggestRequest object itself. + */ + @Generated + public SuggestRequest 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 SuggestRequest object itself. + */ + @Generated + public SuggestRequest setFilter(Object filter) { + this.filter = filter; + return this; + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResult.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/SuggestResultValue.java new file mode 100644 index 0000000000000..423804a0f93aa --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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 Integer createTime; + + /* + * The last update time of the record. The Unix epoch format. + */ + @Generated + @JsonProperty(value = "updateTime") + private Integer 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 Integer 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 Integer 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermSearchResultValue.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermStatus.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java new file mode 100644 index 0000000000000..2f0410091df58 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TermTemplateDef.java @@ -0,0 +1,447 @@ +// 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 Integer 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", access = JsonProperty.Access.WRITE_ONLY) + 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 Integer updateTime; + + /* + * The user who updated the record. + */ + @Generated + @JsonProperty(value = "updatedBy") + private String updatedBy; + + /* + * The version of the record. + */ + @Generated + @JsonProperty(value = "version") + private Double 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 Integer 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(Integer 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; + } + + /** + * 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 Integer 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(Integer 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 Double 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(Double 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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeBoundary.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TimeZone.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Type.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Type.java new file mode 100644 index 0000000000000..5a2a6102407bc --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/Type.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.Generated; +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * Type. + */ +public final class Type extends ExpandableStringEnum { + /** + * enum. + */ + @Generated + public static final Type ENUM = fromString("enum"); + + /** + * entity. + */ + @Generated + public static final Type ENTITY = fromString("entity"); + + /** + * classification. + */ + @Generated + public static final Type CLASSIFICATION = fromString("classification"); + + /** + * relationship. + */ + @Generated + public static final Type RELATIONSHIP = fromString("relationship"); + + /** + * struct. + */ + @Generated + public static final Type STRUCT = fromString("struct"); + + /** + * term template. + */ + @Generated + public static final Type TERM_TEMPLATE = fromString("term_template"); + + /** + * Creates a new instance of Type value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public Type() { + } + + /** + * Creates or finds a Type from its string representation. + * + * @param name a name to look for. + * @return the corresponding Type. + */ + @Generated + @JsonCreator + public static Type fromString(String name) { + return fromString(name, Type.class); + } + + /** + * Gets known Type values. + * + * @return known Type values. + */ + @Generated + public static Collection values() { + return values(Type.class); + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/TypeCategory.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/models/package-info.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/com/azure/analytics/purview/datamap/package-info.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/module-info.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/module-info.java new file mode 100644 index 0000000000000..baf4b25de6c1c --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/java/module-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. + +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.models to com.azure.core, com.fasterxml.jackson.databind; +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/resources/azure-analytics-purview-datamap.properties b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/main/resources/azure-analytics-purview-datamap.properties new file mode 100644 index 0000000000000..ca812989b4f27 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/samples/java/com/azure/analytics/purview/datamap/ReadmeSamples.java b/sdk/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/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/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/PurviewDataMapClientTestBase.java b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/PurviewDataMapClientTestBase.java new file mode 100644 index 0000000000000..7243e7cb43fe8 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/src/test/java/com/azure/analytics/purview/datamap/generated/PurviewDataMapClientTestBase.java @@ -0,0 +1,37 @@ +// 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.PurviewDataMapClient; +import com.azure.analytics.purview.datamap.PurviewDataMapClientBuilder; +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; + +class PurviewDataMapClientTestBase extends TestProxyTestBase { + protected PurviewDataMapClient purviewDataMapClient; + + @Override + protected void beforeTest() { + PurviewDataMapClientBuilder purviewDataMapClientbuilder = new PurviewDataMapClientBuilder() + .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "endpoint")) + .httpClient(HttpClient.createDefault()) + .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC)); + if (getTestMode() == TestMode.PLAYBACK) { + purviewDataMapClientbuilder.httpClient(interceptorManager.getPlaybackClient()); + } else if (getTestMode() == TestMode.RECORD) { + purviewDataMapClientbuilder.addPolicy(interceptorManager.getRecordPolicy()); + } + purviewDataMapClient = purviewDataMapClientbuilder.buildClient(); + + } +} diff --git a/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/tsp-location.yaml b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/tsp-location.yaml new file mode 100644 index 0000000000000..e07267055a911 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/tsp-location.yaml @@ -0,0 +1,5 @@ +repo: Azure/azure-rest-api-specs +directory: specification/purview/Azure.Analytics.Purview.DataMap +commit: 408955aabbb23c1155c7f53822946012962e1eed +additionalDirectories: [] + diff --git a/sdk/azure.analytics.purview.datamap/ci.yml b/sdk/azure.analytics.purview.datamap/ci.yml new file mode 100644 index 0000000000000..29a85dc9e5209 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/ci.yml @@ -0,0 +1,47 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/azure.analytics.purview.datamap/ci.yml + - sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/ + exclude: + - sdk/azure.analytics.purview.datamap/pom.xml + - sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/azure.analytics.purview.datamap/ci.yml + - sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/ + exclude: + - sdk/azure.analytics.purview.datamap/pom.xml + - sdk/azure.analytics.purview.datamap/azure-analytics-purview-datamap/pom.xml + +parameters: + - name: release_azureanalyticspurviewdatamap + displayName: azure-analytics-purview-datamap + type: boolean + default: true + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: azure.analytics.purview.datamap + EnableBatchRelease: true + Artifacts: + - name: azure-analytics-purview-datamap + groupId: com.azure + safeName: azureanalyticspurviewdatamap + releaseInBatch: ${{ parameters.release_azureanalyticspurviewdatamap }} diff --git a/sdk/azure.analytics.purview.datamap/pom.xml b/sdk/azure.analytics.purview.datamap/pom.xml new file mode 100644 index 0000000000000..73d907fa4c355 --- /dev/null +++ b/sdk/azure.analytics.purview.datamap/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + com.azure + azure-azure.analytics.purview.datamap-service + pom + 1.0.0 + + + azure-analytics-purview-datamap + +