/// <summary>
 /// Lists classifications for a given entity represented by a GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonAtlasClassifications> GetClassificationsAsync(this IEntityREST operations, string guid, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetClassificationsWithHttpMessagesAsync(guid, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Lists entities in bulk identified by its GUIDs.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// An array of GUIDs of entities to create.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonAtlasEntitiesWithExtInfo> GetByGuidsAsync(this IEntityREST operations, IList <string> guid, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetByGuidsWithHttpMessagesAsync(guid, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Deletes an entity identified by its GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonEntityMutationResponse> DeleteByGuidAsync(this IEntityREST operations, string guid, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.DeleteByGuidWithHttpMessagesAsync(guid, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Creates or updates an entity in Atlas.
 /// 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&lt;array&lt;int&gt;&gt;, array&lt;map&lt;string, int&gt;&gt;.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='entity'>
 /// Atlas entity with extended information.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonEntityMutationResponse> CreateOrUpdateAsync(this IEntityREST operations, JsonAtlasEntityWithExtInfo entity, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(entity, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Deletes a list of entities in bulk identified by their GUIDs or unique
 /// attributes.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// An array of GUIDs of entities to delete. Use an empty list if not
 /// applicable.
 /// </param>
 /// <param name='atlasObjectIdWithParentGuidList'>
 /// An array of Atlas Object Id to be deleted. Use an empty list if not
 /// applicable.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonEntityMutationResponse> BulkDeleteAsync(this IEntityREST operations, IList <string> guid, IList <JsonAtlasObjectIdWithParentGuid> atlasObjectIdWithParentGuidList, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BulkDeleteWithHttpMessagesAsync(guid, atlasObjectIdWithParentGuidList, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Updates classifications to an existing entity represented by a guid.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='classifications'>
 /// An array of classifications to be updated.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task UpdateClassificationsAsync(this IEntityREST operations, string guid, IList <JsonAtlasClassification> classifications, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.UpdateClassificationsWithHttpMessagesAsync(guid, classifications, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Associates a classification to multiple entities in bulk.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='request'>
 /// The request to associate a classification to multiple entities.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task AddClassificationAsync(this IEntityREST operations, JsonClassificationAssociateRequest request, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.AddClassificationWithHttpMessagesAsync(request, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Updates classification on an entity identified by its type and unique
 /// attributes.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='atlasClassificationArray'>
 /// An array of classification to be updated.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task UpdateClassificationsByUniqueAttributeAsync(this IEntityREST operations, string typeName, IList <JsonAtlasClassification> atlasClassificationArray, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.UpdateClassificationsByUniqueAttributeWithHttpMessagesAsync(typeName, atlasClassificationArray, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Deletes a given classification from an entity identified by its type and
 /// unique attributes.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='classificationName'>
 /// The name of the classification.
 /// </param>
 /// <param name='parentEntityGuid'>
 /// The GUID of the parent entity.
 /// </param>
 /// <param name='attrqualifiedName'>
 /// The qualified name of the entity.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteClassificationByUniqueAttributeAsync(this IEntityREST operations, string typeName, string classificationName, string parentEntityGuid = default(string), string attrqualifiedName = default(string), CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteClassificationByUniqueAttributeWithHttpMessagesAsync(typeName, classificationName, parentEntityGuid, attrqualifiedName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Deletes a given classification from an entity identified by its type and
 /// unique attributes.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='classificationName'>
 /// The name of the classification.
 /// </param>
 /// <param name='parentEntityGuid'>
 /// The GUID of the parent entity.
 /// </param>
 /// <param name='attrqualifiedName'>
 /// The qualified name of the entity.
 /// </param>
 public static void DeleteClassificationByUniqueAttribute(this IEntityREST operations, string typeName, string classificationName, string parentEntityGuid = default(string), string attrqualifiedName = default(string))
 {
     operations.DeleteClassificationByUniqueAttributeAsync(typeName, classificationName, parentEntityGuid, attrqualifiedName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Updates entity partially - Allows 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:&lt;attrName&gt;=&lt;attrValue&gt;.
 /// 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.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='atlasEntityWithExtInfo'>
 /// Atlas entity with extended information.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonEntityMutationResponse> PartialUpdateEntityByUniqueAttrsAsync(this IEntityREST operations, string typeName, JsonAtlasEntityWithExtInfo atlasEntityWithExtInfo, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PartialUpdateEntityByUniqueAttrsWithHttpMessagesAsync(typeName, atlasEntityWithExtInfo, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Gets 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:&lt;attrName&gt;=&lt;attrValue&gt;.
 /// 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.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonAtlasEntityWithExtInfo> GetByUniqueAttributesAsync(this IEntityREST operations, string typeName, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.GetByUniqueAttributesWithHttpMessagesAsync(typeName, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Creates or updates an entity in Atlas.
 /// 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&lt;array&lt;int&gt;&gt;, array&lt;map&lt;string, int&gt;&gt;.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='entity'>
 /// Atlas entity with extended information.
 /// </param>
 public static JsonEntityMutationResponse CreateOrUpdate(this IEntityREST operations, JsonAtlasEntityWithExtInfo entity)
 {
     return(operations.CreateOrUpdateAsync(entity).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes an entity identified by its GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 public static JsonEntityMutationResponse DeleteByGuid(this IEntityREST operations, string guid)
 {
     return(operations.DeleteByGuidAsync(guid).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates entity partially - creates or updates entity attribute identified
 /// by its GUID.
 /// Supports only uprimitive attribute type and entity references.
 /// It does not support updation of complex types like arrays, and maps.
 /// Null updates are not possible.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='name'>
 /// The name of the attribute.
 /// </param>
 /// <param name='body'>
 /// The value of the attribute.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <JsonEntityMutationResponse> PartialUpdateEntityAttrByGuidAsync(this IEntityREST operations, string guid, string name, object body, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.PartialUpdateEntityAttrByGuidWithHttpMessagesAsync(guid, name, body, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Updates entity partially - creates or updates entity attribute identified
 /// by its GUID.
 /// Supports only uprimitive attribute type and entity references.
 /// It does not support updation of complex types like arrays, and maps.
 /// Null updates are not possible.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='name'>
 /// The name of the attribute.
 /// </param>
 /// <param name='body'>
 /// The value of the attribute.
 /// </param>
 public static JsonEntityMutationResponse PartialUpdateEntityAttrByGuid(this IEntityREST operations, string guid, string name, object body)
 {
     return(operations.PartialUpdateEntityAttrByGuidAsync(guid, name, body).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets complete definition of an entity given its GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 public static JsonAtlasEntityWithExtInfo GetById(this IEntityREST operations, string guid)
 {
     return(operations.GetByIdAsync(guid).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Gets 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:&lt;attrName&gt;=&lt;attrValue&gt;.
 /// 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.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 public static JsonAtlasEntityWithExtInfo GetByUniqueAttributes(this IEntityREST operations, string typeName)
 {
     return(operations.GetByUniqueAttributesAsync(typeName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Lists classifications for a given entity represented by a GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='classificationName'>
 /// The name of the classification.
 /// </param>
 public static JsonAtlasClassification GetClassification(this IEntityREST operations, string guid, string classificationName)
 {
     return(operations.GetClassificationAsync(guid, classificationName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates entity partially - Allows 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:&lt;attrName&gt;=&lt;attrValue&gt;.
 /// 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.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='atlasEntityWithExtInfo'>
 /// Atlas entity with extended information.
 /// </param>
 public static JsonEntityMutationResponse PartialUpdateEntityByUniqueAttrs(this IEntityREST operations, string typeName, JsonAtlasEntityWithExtInfo atlasEntityWithExtInfo)
 {
     return(operations.PartialUpdateEntityByUniqueAttrsAsync(typeName, atlasEntityWithExtInfo).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a given classification from an existing entity represented by a
 /// GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='classificationName'>
 /// The name of the classification.
 /// </param>
 public static void DeleteClassification(this IEntityREST operations, string guid, string classificationName)
 {
     operations.DeleteClassificationAsync(guid, classificationName).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Deletes 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:&lt;attrName&gt;=&lt;attrValue&gt;.
 /// 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.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 public static JsonEntityMutationResponse DeleteByUniqueAttribute(this IEntityREST operations, string typeName)
 {
     return(operations.DeleteByUniqueAttributeAsync(typeName).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Deletes a given classification from an existing entity represented by a
 /// GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='classificationName'>
 /// The name of the classification.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task DeleteClassificationAsync(this IEntityREST operations, string guid, string classificationName, CancellationToken cancellationToken = default(CancellationToken))
 {
     (await operations.DeleteClassificationWithHttpMessagesAsync(guid, classificationName, null, cancellationToken).ConfigureAwait(false)).Dispose();
 }
 /// <summary>
 /// Lists entities in bulk identified by its GUIDs.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// An array of GUIDs of entities to create.
 /// </param>
 public static JsonAtlasEntitiesWithExtInfo GetByGuids(this IEntityREST operations, IList <string> guid)
 {
     return(operations.GetByGuidsAsync(guid).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Lists classifications for a given entity represented by a GUID.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 public static JsonAtlasClassifications GetClassifications(this IEntityREST operations, string guid)
 {
     return(operations.GetClassificationsAsync(guid).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Updates classification on an entity identified by its type and unique
 /// attributes.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='typeName'>
 /// The name of the type.
 /// </param>
 /// <param name='atlasClassificationArray'>
 /// An array of classification to be updated.
 /// </param>
 public static void UpdateClassificationsByUniqueAttribute(this IEntityREST operations, string typeName, IList <JsonAtlasClassification> atlasClassificationArray)
 {
     operations.UpdateClassificationsByUniqueAttributeAsync(typeName, atlasClassificationArray).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Updates classifications to an existing entity represented by a guid.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// The globally unique identifier of the entity.
 /// </param>
 /// <param name='classifications'>
 /// An array of classifications to be updated.
 /// </param>
 public static void UpdateClassifications(this IEntityREST operations, string guid, IList <JsonAtlasClassification> classifications)
 {
     operations.UpdateClassificationsAsync(guid, classifications).GetAwaiter().GetResult();
 }
 /// <summary>
 /// Deletes a list of entities in bulk identified by their GUIDs or unique
 /// attributes.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='guid'>
 /// An array of GUIDs of entities to delete. Use an empty list if not
 /// applicable.
 /// </param>
 /// <param name='atlasObjectIdWithParentGuidList'>
 /// An array of Atlas Object Id to be deleted. Use an empty list if not
 /// applicable.
 /// </param>
 public static JsonEntityMutationResponse BulkDelete(this IEntityREST operations, IList <string> guid, IList <JsonAtlasObjectIdWithParentGuid> atlasObjectIdWithParentGuidList)
 {
     return(operations.BulkDeleteAsync(guid, atlasObjectIdWithParentGuidList).GetAwaiter().GetResult());
 }
 /// <summary>
 /// Associates a classification to multiple entities in bulk.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='request'>
 /// The request to associate a classification to multiple entities.
 /// </param>
 public static void AddClassification(this IEntityREST operations, JsonClassificationAssociateRequest request)
 {
     operations.AddClassificationAsync(request).GetAwaiter().GetResult();
 }